• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Tutorial Running Cipsoft Server Files


6e7.gif
 
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.

Ah, you're absolutely right! The character list is just loaded from the database. I'll troubleshoot the network connection then.

Thanks!
 
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 :p

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)
 
Last edited:
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 :p

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)

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.
Screenshot 2020-01-25 at 19.59.04.png

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?
Screenshot 2020-01-25 at 19.59.39.png
Netstat on the server shows this:
Screenshot 2020-01-25 at 19.58.14.png
And the querymanager is compiled with these settings in main.cpp

Screenshot 2020-01-25 at 20.04.10.png
Screenshot 2020-01-25 at 20.04.40.png

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"?

Screenshot 2020-01-25 at 20.29.31.png

Screenshot 2020-01-25 at 20.29.51.png
 
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!
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"?
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 :p

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
 
Last edited:
Thanks for replying! I really appreciate it :)
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); <----
 
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 :p

Thanks for the info!

Yes, they're running on the same VM. I saw so many posts saying it wasn't necessary to split them up that i figured I would give it a go. If nothing else works, I'll try running the game server on CentOS 3.

It's so strange though. Sometimes I make a change when I'm troubleshooting and I'll get a response in querymanager saying LOGIN FAILURE 6 for 0 etc. But then I try again, without changing anything, and I don't get any response at all. It just waits to connect forever.
Post automatically merged:

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); <----

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.
 
Last edited:
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)

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 :)
 
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)

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 :)

Thanks! Same result unfortunately :/ I guess I'll try to run the gameserver on a different VM.
 
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
1581025491862.png
 
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
Doesnt seem like the QM gets the enter game packet. Your loginserver seems to be setup wrong.
 
Has anyone been able to find out what this is for?

download.png

Been at it four hours, and can't seem to get it set up for the life of me.

I'm using the Bonez binary, libs have been added (Dennis' libs), and permissions have been granted to both libs and binary.

Querymanager has been set up, in accordance to tutorial.

Screenshot_1.png

.tibia file has been gone over by fine comb, and ip's and connections are as far as I can tell good.

So, in short, I'm dumb and need someone to hold my hand.
 
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.

I only had this problem running Ubuntu on WSL (the in-windows Ubuntu thingy from the store)
Running CentOS/Ubuntu on VirtualBox/VMWare never gave me this problem.
If you arent running WSL, then try placing your .tibia config file in different folders.
Try /home/
/home/youruser/
/home/youruser/game

Dont remember exactly the path the server looks for it, but try that.

But maybe it finds it, but its corrupted? Try ruinning dos2unix on the .tibia file. Sometimes, editing with e.g. notepad++ on a windowsmachine fucks it up. Can also be a permission issue.
 
Hello, ubuntu is mandatory on the virtual machine, I'm using centOS 7 x32 with xampp .. I can't use mysql from xampp when investing a virtual machine?

Em Portuguese.
Numa maquina dual core duo E7300, instalei o CentOS 7 x32, é obrigatorio mesmo uma maquina virtual com ubuntu so para o mysql? eu estou usando xampp 7.0 no centOS, pq não posso usar o querymanager com mysql local?

centOS não instala virtualbox, não tenho vt-x e nem memoria suficiente para um maquina virtual

Thx - obrigado
 
Good news (if anyone still cares). WSL2 is officially out for the latest windows version. (Windows 10 version 2004)
and I'm happy to tell that the cipsoft server runs under WSL2 now.
No more "cannot find config" even tho its there. They added a bunch of support for lower level stuff or whatever, so I guess that's why it works now.

There are some errors logged by the game server, but that could just be me as I was screwing around and ruined some stuff with my install. But hey, it runs.
1591457194349.png

Pinging @xzbit since you also had trouble with WSL1.
 
@Tony32 really thanks for this. I already have ubuntu 18.04 LTS installed on windows 10 store, I already have RealOTS 7.7 Cipsoft files (virgin) please an updated tutorial to run on windows 10 and the necessary files.
 
Last edited:
Edit #2: Game server is loaded and online, needed to re-compile QM. However, now having an issue logging in. Used hex editor to change the IP of the 7.7 client, but I simply get a "connection timed out" after a minute or two. QM never receives the login request. Login server is running, IP addresses in config.lua and gameservers.xml are correct, where else do I need to check? Here is what each service is listening on, it looks correct but I've been working on this for hours so my brain is fried, I'm probably overlooking something simple:
1605677333703.png
 
Last edited:
Back
Top