222222
Advanced OT User
- Joined
- Jul 3, 2007
- Messages
- 225
- Reaction score
- 180
Np man! Hmmm ok. Correct me if im wrong, but as far as im concerned, character list loads only means that your loginserver has a proper connection to the database. Or I am messing up things there?
Because if I only run the loginserver and nothing else (not running the query nor the gameserver), I also get the character list load at the tibia client (with a "connection refused" shortly after, if I try to proceed entering the game, on that particular case).
Even though you "passed" the ping test, I wouldnt assume you have successfully connected your loginserver to the querymanager if your querymanager doesnt respont at all when you try to enter the game. Just my 2 cents on that matter though hehe.
Well, you might be able to connect to 7171 (usual loginserver* port), but maybe not port 7172** which is the gameserver port. Did you make sure that port is open?Ah, you're absolutely right! The character list is just loaded from the database. I'll troubleshoot the network connection then.
Thanks!
Well, you might be able to connect to 7171 (usual loginserver* port), but maybe not port 7172** which is the gameserver port. Did you make sure that port is open?
The only time I've encountered this issue is when someone uses the original (non modified) game binary without the correct libs. As I've said earlier, easiest method is to use bonez gameserver binary together with the "dennis" libs. You can also make the original binary work, but thats another story
There is another plausable reason for this. Your Loginserver might be setup wrong, pointing to the WRONG gameserver ip. So when you chose the char, it connects to the wrong host.
If it still doesnt work, your querymanager probably is borked. (not compiled to use the correct port)
I've been at this for many hours now. Seems I got every possible error and managed to find a solution in the forum. Now I have all servers up and running. However, the character list loads, but then it just waits to connect to game world forever. And I'm not seeing any activity in the querymanager when I try to log in.
I know this issue has come up before and that the solution is supposedly to put the dennis libs in /lib and use game file with modified binaries. I've done that and it's still not working. Has anyone had this issue and solved it in another way? I would really appreciate any help at all. Thanks!
Both IPs for the DB and Server are the same, are you running the server and query manager in the same virtual machine?Thanks for replying! I really appreciate it
I'm using the modified binary, I think it's bonez, but if there are others that are modified maybe I got the wrong one(?). I think I got it from one of your posts, if I'm not mistaken. Also using "dennis" libs.
View attachment 41925
The connection seems ok. If I run netstat from the client I get ESTABLISHED on port 7172. Is there a better way to check this?
View attachment 41926
Netstat on the server shows this:
View attachment 41927
And the querymanager is compiled with these settings in main.cpp
View attachment 41930
View attachment 41929
Server is 10.211.55.4, client is 10.211.55.3
See anything I might have missed?
Post automatically merged:
Loginserver is compiled with these configs. One thing I'm curious about here is the ports. Should it be 7171 on both "port" and "statusProtocolPort"?
Thanks! I doubt I'll do anything interesting with the files, but still nice to take a look
Read up on LinuxThreads vs NPTL. You will not be able to connect using a modern distro (centos 7 will NOT work). For centos 3, even though the kernel supports LinuxThreads, NPTL has been backported. You can't use an older distribution like CentOS 2 because the game binary uses a newer standard C library. You will need to take CentOS3 and modify the libraries to use LinuxThreads instead of the backported NPTL. None of the distributions will work 'as-is'.
Here's a quick "hack" to force LinuxThreads. Install and run CentOS 3.1 32-bit on Virtualbox (as root):
cd /lib/tls/
mv libc.so.6 libc.backup.so.6
mv libpthread.so.0 libpthread.backup.so.0
Now run the ./game binary
Hmm. Ok. I don't know which version of the QM you are running, there are lots around out there.Thanks for replying! I really appreciate it
// start the server listen...
while(true){
sockaddr_in local_adress;
memset(&local_adress, 0, sizeof(sockaddr_in)); // zero the struct
local_adress.sin_family = AF_INET;
local_adress.sin_port = htons(portNumber);
local_adress.sin_addr.s_addr = htonl(INADDR_LOOPBACK); <----
Both IPs for the DB and Server are the same, are you running the server and query manager in the same virtual machine?
I ran into trouble trying to do the same on a new Ubuntu distro, and there was this explanation in the original thread, so I installed one for CentOS 3 and used Ubuntu for QM/loginserver.
It should work on CentOS 7+ with the Satanic libraries, but I haven't managed to run the edited server, so I went to the easier path
Hmm. Ok. I don't know which version of the QM you are running, there are lots around out there.
But I remember there were more than one place in main.cpp for the QM where you had to set the db information..
"Database db("localhost","otserv","yourpw","otserv");"
This line alone appears 25 times in the version of the QM im running, so make sure you updated all of them.
Also, I never removed listening to loopback like you did
C++:// start the server listen... while(true){ sockaddr_in local_adress; memset(&local_adress, 0, sizeof(sockaddr_in)); // zero the struct local_adress.sin_family = AF_INET; local_adress.sin_port = htons(portNumber); local_adress.sin_addr.s_addr = htonl(INADDR_LOOPBACK); <----
Ahh I see. Yeah, that can be part of the problem. I have the realOTS stuff stored deep within some external hdd and im honestly too lazy to retrieve it right now. I did find this earlier which might work (maybe even better or worse, idk)Thanks for the info!
I guess this is part of the problem; I've had to piece together this thing (server, querymanager, loginserver, database) from different sources, so I don't even know that they will all work together. It would be great if someone had put together a kit with everything one needs to set this up with just changing a few IPs and what not. If I ever get it working, I probably will.
The QM you mention is a good example. You say that line appears 25 times in yours, only 8 in mine. Would you mind uploading yours?
I've tried putting back the loopback address, but then the game server won't even start because it can't connect to QM.
Ahh I see. Yeah, that can be part of the problem. I have the realOTS stuff stored deep within some external hdd and im honestly too lazy to retrieve it right now. I did find this earlier which might work (maybe even better or worse, idk)
GitHub - frcento/realotsquerymanager: Query Manager for RealOTS 7.7 files
Query Manager for RealOTS 7.7 files. Contribute to frcento/realotsquerymanager development by creating an account on GitHub.github.com
Someone on this forum refactored it a bit and made it possible to control some stuff via external config. Try that one. I dont know if it works or not as I didnt test it myself, but worth a shot
Doesnt seem like the QM gets the enter game packet. Your loginserver seems to be setup wrong.Hello, after one week i decided to post here. Tried to make this thing work but without sucess. Never used Linux before. One week later i fixed 99% of my errors.
Now, i'm stuck at this one. Can someone help me?
PS: Client edited with xvi32. Changed only ips.
Thanks
View attachment 42289
Has anyone been able to find out what this is for?
View attachment 43832
Been at it four hours, and can't seem to get it set up for the life of me.