• 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!

Script and tutorial to automate install of "Leaked" 7.70 server

Sorry I wouldn't know. It's worth it to search for it again on the forum, I recall someone posting the full list of GM commands available on this server.


These seem to be the files somewhere inside the "/home/game" directory, but you're better off asking them directly.
I suggest you download their zip and compare the files content with the ones in your server. Changes like these require a lot of experimentation, just don't forget to restart the server services for the changes to take effect.


Your server will have 2 IPs, you probably need the public one instead of the internal one, so you can share it with your friends. Run this command on the terminal to find it: wget -qO- http://ipecho.net/plain | xargs echo


When running my script, it asks for the account ID. You can provide one that already exists to add the char to that account.


I'm not experienced with this, but you should try editing the file "/home/game/dat/owners.dat", then restart the server for the changes to take effect.
The file has several entries that look like this:

Code:
ID = 10003
Owner = 10389286
LastTransition = 1147857007
PaidUntil = 1150449007
Guests = {"saria alia","alan garea","Knight Xiaolim","Celestian Style Mage","Heaven Lights Shaman","Rave'Master"}
Subowners = {"caprates","iaia de zanera"}

  • ID is the house ID, must be one of the IDs in the file "/home/game/dat/houses.dat"
  • Owner is the char ID, must be one of the IDs inside "/home/game/usr"
  • LastTransition is when the house was rented. Use a tool like the Epoch Converter to convert this timestamp format to a "human-readable" format, and vice-versa.
  • PaidUntil is when the rent expires. Same format as the LastTransition.
  • Guests is a list of char names that are invited to your house as guests
  • Subowners is a list of char names that have subowner priviledges, such as inviting guests
You might need to do something in the MySQL database too, but I'm not sure.
Post automatically merged:

I've seen the GM commands, they had nothing that looked helpful. I suppose I'll have to hope for a miracle with the soul points or just try to live with them. The magic changes I can hopefully have someone tell me how to do. But the files are simply a folder of NPCs and 3 files called "game", "changes to game" and "changes to NPC". With the names of the last two there's no way I could figure out myself what should be done with them, as there's not gonna be any identically named files to replace with them.

The IP command worked splendidly, tyvm! What is the purpose of the internal IP if the public one is the one I need? It's very unlikely that any friend will join me, do I need the internal one for anything when I play alone? How do I find it in case I do need it?

Ahh, the char creation stuff is doing my head in. I can't find a way to use the Gesior one, any tutorials I find are old and I have no idea if they would even apply to what I'm doing, not to mention it seems so complicated. For your char script I'm confused how an account ID could exist when I don't have a char or account until I've used your script? How do I find one?

For the house stuff, there are no entries in owners as I cleaned it out for the map clean guide I followed. Do I paste exactly the stuff you posted, no more no less, and then just change the names and values?
A few questions about it:
How do I find the IDs of my chars? In /home/game/usr there's tons of numbered folders with tons of files in each one. I'd assume each file is one char, but then what are the folders they're split into... Can I just delete everything in usr to get rid of all the old chars, and then have my chars be the only ones that pop up there so I can find my IDs, or might some of the stuff in there be something I can't remove without causing problems?
For house renting time and rent expiration, do I just put the value for the current time to get the house owned by me from that point, and then a point far into the future to own the house for that long? Or will the rent expiration time be when it next takes rent from me? Does it then update it to a new time by itself? If I put it far enough away, and keep changing it if it gets close, can I just avoid rent forever?
For guests and subowners I suppose just put the names of my chars there, so at least that one seems easy.
I really hope this stuff will do the trick without any MySQL work I have to try to find out about.

Sorry for the million questions, everything is so difficult when you know nothing and there's so much work just to get a few basic things working. I'm really itching to finish this up now so I can get started playing.
Post automatically merged:

snapshots, take a new snapshot to save current state of the machine

forget soul points, extract download in /home/game/
[7.7] RealOTS 7.7 Cipsoft files (virgin) (https://otland.net/threads/7-7-realots-7-7-cipsoft-files-virgin.244562/page-60#post-2714291)

Ohh, I just saw this post now, I actually made a post in my other thread a little bit ago asking about this specific issue, haha. So you're saying all I do is extract the zip file inside /game next to all the random folders and then it does it all itself, I don't have to do anything else? And why do you say forget soul points, are they handled too in these changes? (fingers crossed that they are, that would be soo amazing!)

Snapshots I have no idea how to take... all I know is screenshots, and even those are probably difficult in Ubuntu, haha.
 
@sret yes, yes, yes and yes! will u login and play already??

🙃

That sounds fantastic!! I just need the char creation and house stuff finished now and then I should be good to try all of this out and start playing if everything works :D
 
I've seen the GM commands, they had nothing that looked helpful.
GM commands aren't that helpful, but if I remember correctly, you can still have God commands, which is probably what you're after. Search a bit deeper and you'll find more about it in the forum.

But the files are simply a folder of NPCs and 3 files called "game", "changes to game" and "changes to NPC". With the names of the last two there's no way I could figure out myself what should be done with them, as there's not gonna be any identically named files to replace with them.
The files should be straightforward. The "changes to game" and "changes to NPC" are literally just a text describing the changes made to the game file and npcs files, respectively. All you need to do is to replace your "/home/game/bin/game" with the "game" file, and the "/home/game/npc" with the "npc" folder.

The IP command worked splendidly, tyvm! What is the purpose of the internal IP if the public one is the one I need? It's very unlikely that any friend will join me, do I need the internal one for anything when I play alone? How do I find it in case I do need it?
If you'll be playing alone, it's safer to set the IP Changer with your internal IP instead. Run this command to find yours: hostname -I | cut -d' ' -f1

Tip: for simple technical questions like this, ask tools like ChatGPT, Bard or Bing first, as they'll answer that straight away. "How to find my internal IP on Ubuntu 22?"

For your char script I'm confused how an account ID could exist when I don't have a char or account until I've used your script? How do I find one?
My script is very simple and relies on existing accounts. If you deleted all accounts, you'll need to create one on MySQL, or you'll need to come up with another script.

How did you removed all accounts? Did you simply delete the "/home/game/usr" directory? If so, you can still restore it. Either search for it on the Trash folder, or copy the "usr.bak" and rename it to "usr".

Otherwise, if you deleted them from the MySQL database, you could just rerun the insert commands on the database. If you don't have experience with it, I recommend you delete your VM (or restore to a previous snapshot, if you've done it) and start again.

Finding an account number won't be trivial for you, so I recommend you just use the default values provided in my script, which will create a char in the account "100".

For the house stuff, there are no entries in owners as I cleaned it out for the map clean guide I followed. Do I paste exactly the stuff you posted, no more no less, and then just change the names and values?
Probably yes. If that doesn't work, restore the file and experiment with it.

How do I find the IDs of my chars? In /home/game/usr there's tons of numbered folders with tons of files in each one. I'd assume each file is one char, but then what are the folders they're split into... Can I just delete everything in usr to get rid of all the old chars, and then have my chars be the only ones that pop up there so I can find my IDs, or might some of the stuff in there be something I can't remove without causing problems?
The folders immediately inside "/home/game/usr" are simply groups, not chars. Inside each group, you'll find hundreds of chars. The char ID is literally the ID inside the ".usr" file.

It's a bit complicate to explain how it works, because you have chars in the "usr" folder and chars in the "players" table on the MySQL database, and they are connected in a not-so-intuitive way. Because of that, I don't think you should delete anything. When you create a new char with my script, the quickest way to find its ID that I can think of is to search for your char name in the "usr" directory.

For house renting time and rent expiration, do I just put the value for the current time to get the house owned by me from that point, and then a point far into the future to own the house for that long? Or will the rent expiration time be when it next takes rent from me? Does it then update it to a new time by itself? If I put it far enough away, and keep changing it if it gets close, can I just avoid rent forever?
Experiment with it.

Snapshots I have no idea how to take... all I know is screenshots, and even those are probably difficult in Ubuntu, haha.
Sounds like another question for ChatGPT (and it's as simple as taking screenshots on Ubuntu). Snapshots will save you a LOT of time. Create one right after running installing Ubuntu, or right after running my scripts. Then every time you make a mistake or you "break" something, you can go back to that state in time instead of manually reinstalling things from scratch again.

Sorry for the million questions, everything is so difficult when you know nothing and there's so much work just to get a few basic things working. I'm really itching to finish this up now so I can get started playing.
I think you're trying to bite off more than you can chew here. Doing too much from the start will only get you frustrated.

My sincere opinion is that you should just set up the server with all the default settings for now. Play with it, see how it works first. Then slowly change things to your liking, experiment a lot, make a lot of mistakes, restart it all over again, etc. As I mentioned before, this server was supposed to be as close as possible to the real thing, hence why there's little information on how to customise it.

Also, you need to get more experienced with computers, with Linux and with programming. These things take time, so take it slowly.
 
GM commands aren't that helpful, but if I remember correctly, you can still have God commands, which is probably what you're after. Search a bit deeper and you'll find more about it in the forum.


The files should be straightforward. The "changes to game" and "changes to NPC" are literally just a text describing the changes made to the game file and npcs files, respectively. All you need to do is to replace your "/home/game/bin/game" with the "game" file, and the "/home/game/npc" with the "npc" folder.


If you'll be playing alone, it's safer to set the IP Changer with your internal IP instead. Run this command to find yours: hostname -I | cut -d' ' -f1

Tip: for simple technical questions like this, ask tools like ChatGPT, Bard or Bing first, as they'll answer that straight away. "How to find my internal IP on Ubuntu 22?"


My script is very simple and relies on existing accounts. If you deleted all accounts, you'll need to create one on MySQL, or you'll need to come up with another script.

How did you removed all accounts? Did you simply delete the "/home/game/usr" directory? If so, you can still restore it. Either search for it on the Trash folder, or copy the "usr.bak" and rename it to "usr".

Otherwise, if you deleted them from the MySQL database, you could just rerun the insert commands on the database. If you don't have experience with it, I recommend you delete your VM (or restore to a previous snapshot, if you've done it) and start again.

Finding an account number won't be trivial for you, so I recommend you just use the default values provided in my script, which will create a char in the account "100".


Probably yes. If that doesn't work, restore the file and experiment with it.


The folders immediately inside "/home/game/usr" are simply groups, not chars. Inside each group, you'll find hundreds of chars. The char ID is literally the ID inside the ".usr" file.

It's a bit complicate to explain how it works, because you have chars in the "usr" folder and chars in the "players" table on the MySQL database, and they are connected in a not-so-intuitive way. Because of that, I don't think you should delete anything. When you create a new char with my script, the quickest way to find its ID that I can think of is to search for your char name in the "usr" directory.


Experiment with it.


Sounds like another question for ChatGPT (and it's as simple as taking screenshots on Ubuntu). Snapshots will save you a LOT of time. Create one right after running installing Ubuntu, or right after running my scripts. Then every time you make a mistake or you "break" something, you can go back to that state in time instead of manually reinstalling things from scratch again.


I think you're trying to bite off more than you can chew here. Doing too much from the start will only get you frustrated.

My sincere opinion is that you should just set up the server with all the default settings for now. Play with it, see how it works first. Then slowly change things to your liking, experiment a lot, make a lot of mistakes, restart it all over again, etc. As I mentioned before, this server was supposed to be as close as possible to the real thing, hence why there's little information on how to customise it.

Also, you need to get more experienced with computers, with Linux and with programming. These things take time, so take it slowly.

The IP I got with the internal command was the same as the IP I got with the external command. Can those two IPs be the same one, meaning I only have one instead of two?
I thought the IP is for the server, not something connected to my entire Ubuntu, so I didn't think it's something I could google for. I also don't use things like ChatGPT.

I googled the snapshot stuff, and most of it was just about screenshots. The few things I found that seemed to be talking about the backup snapshots mentioned installing other programs and stuff to do it, so I think I just won't mess with that if there's no simpler way to do it.

I tried your char finding method by looking in one of the usr documents, seeing the random char name in there, then searching for it in the directory (in several different ones, to be sure). It gave no results. I assume it can't search for things that are inside documents, and the docs are named as number sequences rather than as the chars inside them. Did I do something wrong, or am I gonna have to find another way to locate my chars once I have created them? There's probably hundreds of files, if I had to look through them all it would take forever.

But before I can look for my chars, here's the most pressing issue that I hope I can get an answer to ASAP so I can progress: I managed to create your script and get through the process of creating my first char ("100" as account name worked), and after it asked for the MySQL username and password, it also followed those up with a third request: "Enter MySQL database". That one really blindsided me, nothing like that was mentioned anywhere, and I don't have the faintest idea what could possibly be added there. Is the databse itself supposed to have a name or something? Is it maybe something like "localhost" or "phpMyAdmin"? I can't experiment with it when it's in the middle of the process, I don't want to risk messing it up, so I'm avoiding touching anything else until I have an answer. Since it's your script I doubt I can find the answer anywhere else either. Feels like sort of a "so close, yet so far" situation right now. Almost making it to the point of being able to log on and start playing, then a final boss in form of a sneaky random request pops up, with no clues to how to defeat it. Please, rescue me! =p


Edit: I just put a looot of work into trying to find this database it's requesting, even assisted by a friend who's studied a bit of coding, including MySQL. My final result is that no databases are found. I'm at a loss, but at least I tried my damnedest to solve this myself =<
 
Last edited:
1694937124011.png
@sret
don't worry about houses, the world is yours, go camping for awhile.

when u put server online and actually login, your character number appears. this number can be searched for in user files.

following instructions below lead to the final answer to all questions.
On your VM, open the browser and go to http://localhost/phpmyadmin
  • Sign in with the username "otserv" and the password you provided to this install script
  • Click on the "otserv" database, then the "users" table
  • You can use any "login" and "passwd" to log in to an account on the client
🗝️ 🚪
 
View attachment 78486
@sret
don't worry about houses, the world is yours, go camping for awhile.

when u put server online and actually login, your character number appears. this number can be searched for in user files.

following instructions below lead to the final answer to all questions.

🗝️ 🚪

Oh wow, that seems a million times easier than anything on Google about snapshots, haha.
Edit: My VM doesn't have the snapshot button, so nvm that, guess I'm not meant to do that part lol

I like having houses, and they can be strategically used to have them near my manasitting/training spot (by water) or near the hunting grounds I'll use the most.

So the character number appears in a server log or something? And it's the same number as the file name of the character, not a number stored inside the documents?

Ohhh, I looked at those instructions so many times and never noticed the word database being there. I tried to look for it in MySQL now that I have a reason to believe that word is hiding somewhere in there, and I noticed it on the very top of the screen, in small letter. It says "Database: otserv". Does that mean that "otserv" is what I should put as my answer, the same as the username? It even says "otserv" in the question, like this is the exact sentence: "Enter MySQL database (otserv):"
It seems a little weird that "otserv" would also be what I should answer there lol. Unless it's there to show that it's the answer? In which case I feel stupid, haha.
 
Last edited:
The IP I got with the internal command was the same as the IP I got with the external command. Can those two IPs be the same one, meaning I only have one instead of two?
I thought the IP is for the server, not something connected to my entire Ubuntu, so I didn't think it's something I could google for.
If you're connected to the Internet, you should have 2 IPs: one internal (it usually starts with "10." or "192.") and one public. Maybe the command is returning only the public IP. Try this command instead hostname -I and see if you can find another number that looks like an IP.

In case that doesn't work, ask AI or search online "why does my internal IP looks like my public IP on Ubuntu 22?"

I googled the snapshot stuff, and most of it was just about screenshots.
I should've mentioned that it's a "VM snapshot" you should be looking for. Thanks @getema27 for the quick instructions.

I tried your char finding method by looking in one of the usr documents, seeing the random char name in there, then searching for it in the directory (in several different ones, to be sure). It gave no results. I assume it can't search for things that are inside documents, and the docs are named as number sequences rather than as the chars inside them. Did I do something wrong, or am I gonna have to find another way to locate my chars once I have created them? There's probably hundreds of files, if I had to look through them all it would take forever.
As @getema27 mentioned, you have to create a char on the database (e.g.: using the script) then login with it for the server to create a file inside "/usr". I don't think the search box on the file manager UI can search inside documents. If that's the case, there are commands on the terminal (such as the "grep" command) that can do that for you. Ask AI or search online "how to search text inside a folder on Ubuntu 22?"

But before I can look for my chars, here's the most pressing issue that I hope I can get an answer to ASAP so I can progress: I managed to create your script and get through the process of creating my first char ("100" as account name worked), and after it asked for the MySQL username and password, it also followed those up with a third request: "Enter MySQL database". That one really blindsided me, nothing like that was mentioned anywhere, and I don't have the faintest idea what could possibly be added there. Is the databse itself supposed to have a name or something? Is it maybe something like "localhost" or "phpMyAdmin"? I can't experiment with it when it's in the middle of the process, I don't want to risk messing it up, so I'm avoiding touching anything else until I have an answer. Since it's your script I doubt I can find the answer anywhere else either. Feels like sort of a "so close, yet so far" situation right now. Almost making it to the point of being able to log on and start playing, then a final boss in form of a sneaky random request pops up, with no clues to how to defeat it. Please, rescue me! =p
When you execute the install scripts for the first time, it asks for the password that should be used for the database (read step 3 again).
You should use the same password in the char creation script. If you can't remember it, might be easier to restart the entire process again.

Ohhh, I looked at those instructions so many times and never noticed the word database being there. I tried to look for it in MySQL now that I have a reason to believe that word is hiding somewhere in there, and I noticed it on the very top of the screen, in small letter. It says "Database: otserv". Does that mean that "otserv" is what I should put as my answer, the same as the username? It even says "otserv" in the question, like this is the exact sentence: "Enter MySQL database (otserv):"
It seems a little weird that "otserv" would also be what I should answer there lol. Unless it's there to show that it's the answer? In which case I feel stupid, haha.
It's a convention for scripts to show the default answer within parenthesis. So when the script is asking "Enter MySQL database (otserv):", it means "if you leave this question empty, I'll assume you're referring to 'otserv'".
When running the script, I advise you leave all fields empty/default except your char name (enter whatever you want) and database password (enter the one you provided in step 3).

I also don't use things like ChatGPT.
Several of your questions would be immediately answered by ChatGPT, Bard or Bing. They're not a requirement, but especially at your current level of experience, I encourage you to use them all the time. You will learn much faster and get more precise answers than asking them here or looking them up on the Internet. And those tools won't cost you a dime. I really don't see why you shouldn't use them.
 
GM commands aren't that helpful, but if I remember correctly, you can still have God commands, which is probably what you're after. Search a bit deeper and you'll find more about it in the forum.


The files should be straightforward. The "changes to game" and "changes to NPC" are literally just a text describing the changes made to the game file and npcs files, respectively. All you need to do is to replace your "/home/game/bin/game" with the "game" file, and the "/home/game/npc" with the "npc" folder.


If you'll be playing alone, it's safer to set the IP Changer with your internal IP instead. Run this command to find yours: hostname -I | cut -d' ' -f1

Tip: for simple technical questions like this, ask tools like ChatGPT, Bard or Bing first, as they'll answer that straight away. "How to find my internal IP on Ubuntu 22?"


My script is very simple and relies on existing accounts. If you deleted all accounts, you'll need to create one on MySQL, or you'll need to come up with another script.

How did you removed all accounts? Did you simply delete the "/home/game/usr" directory? If so, you can still restore it. Either search for it on the Trash folder, or copy the "usr.bak" and rename it to "usr".

Otherwise, if you deleted them from the MySQL database, you could just rerun the insert commands on the database. If you don't have experience with it, I recommend you delete your VM (or restore to a previous snapshot, if you've done it) and start again.

Finding an account number won't be trivial for you, so I recommend you just use the default values provided in my script, which will create a char in the account "100".


Probably yes. If that doesn't work, restore the file and experiment with it.


The folders immediately inside "/home/game/usr" are simply groups, not chars. Inside each group, you'll find hundreds of chars. The char ID is literally the ID inside the ".usr" file.

It's a bit complicate to explain how it works, because you have chars in the "usr" folder and chars in the "players" table on the MySQL database, and they are connected in a not-so-intuitive way. Because of that, I don't think you should delete anything. When you create a new char with my script, the quickest way to find its ID that I can think of is to search for your char name in the "usr" directory.


Experiment with it.


Sounds like another question for ChatGPT (and it's as simple as taking screenshots on Ubuntu). Snapshots will save you a LOT of time. Create one right after running installing Ubuntu, or right after running my scripts. Then every time you make a mistake or you "break" something, you can go back to that state in time instead of manually reinstalling things from scratch again.


I think you're trying to bite off more than you can chew here. Doing too much from the start will only get you frustrated.

My sincere opinion is that you should just set up the server with all the default settings for now. Play with it, see how it works first. Then slowly change things to your liking, experiment a lot, make a lot of mistakes, restart it all over again, etc. As I mentioned before, this server was supposed to be as close as possible to the real thing, hence why there's little information on how to customise it.

Also, you need to get more experienced with computers, with Linux and with programming. These things take time, so take it slowly.

Alright, I think getema solved the char ID thing for me (didn't try it yet though) and now as I found the database thing I think everything should be done and ready for me to play and never have to ask for help again unless one of the preparations turns out not to work or something malfunctions.
I started the server as per the instructions, in 3 different terminal tabs, and it seemed to all work well (although in the server one everything was in German, how do I change that to English like the others so I can notice when something goes wrong in there?), but the problem now is that I have no idea how to close it. I know I need to use ctrl+c to save progress when I close the server, but nothing opened when I started it all. It just did stuff in the terminal, and no program opened showing me the server and stuff. I can only guess that closing the terminal tabs is how I close the server, so I tried to press ctrl+c in there but it just popped up as a command saying "^C".
Did I do something wrong? Am I supposed to not have some kind of server thing start up and show itself outside the terminals?
Also, before sending this I realized I should try to log on a char to confirm that the server works, and it said it cannot connect to a login server, connection refused, all login server are offline. I thought maybe I messed up the IP changer stuff, but after messing around with it I noticed my server IP showed up on top of the Tibia client, but I still get the same error message. So I guess the server really didn't start up? What could be wrong? Also, I noticed that at the end of the IP on the client it said 7171, the port, and that was never mentioned anywhere and I haven't seen it, so I'm throwing it out there in case that could also be something I need to change or whatever.
I'm attaching a picture of the game server launch part in the terminal, the one that is in German. It ended with the "LoseInventory=2" sentence when it launched, but now that I checked it after trying to login, it had added that other stuff.
Post automatically merged:

If you're connected to the Internet, you should have 2 IPs: one internal (it usually starts with "10." or "192.") and one public. Maybe the command is returning only the public IP. Try this command instead hostname -I and see if you can find another number that looks like an IP.

In case that doesn't work, ask AI or search online "why does my internal IP looks like my public IP on Ubuntu 22?"


I should've mentioned that it's a "VM snapshot" you should be looking for. Thanks @getema27 for the quick instructions.


As @getema27 mentioned, you have to create a char on the database (e.g.: using the script) then login with it for the server to create a file inside "/usr". I don't think the search box on the file manager UI can search inside documents. If that's the case, there are commands on the terminal (such as the "grep" command) that can do that for you. Ask AI or search online "how to search text inside a folder on Ubuntu 22?"


When you execute the install scripts for the first time, it asks for the password that should be used for the database (read step 3 again).
You should use the same password in the char creation script. If you can't remember it, might be easier to restart the entire process again.


It's a convention for scripts to show the default answer within parenthesis. So when the script is asking "Enter MySQL database (otserv):", it means "if you leave this question empty, I'll assume you're referring to 'otserv'".
When running the script, I advise you leave all fields empty/default except your char name (enter whatever you want) and database password (enter the one you provided in step 3).


Several of your questions would be immediately answered by ChatGPT, Bard or Bing. They're not a requirement, but especially at your current level of experience, I encourage you to use them all the time. You will learn much faster and get more precise answers than asking them here or looking them up on the Internet. And those tools won't cost you a dime. I really don't see why you shouldn't use them.

Ah, nice timing. Could the identical IP stuff be part of the problem I just described?
 

Attachments

I started the server as per the instructions, in 3 different terminal tabs, and it seemed to all work well (although in the server one everything was in German, how do I change that to English like the others so I can notice when something goes wrong in there?)
The game server is logging in German because that was the official server from CipSoft, a German company. I'm afraid you won't be able to change the language there, but that doesn't matter as you rarely need to read those logs.

I have no idea how to close it. I know I need to use ctrl+c to save progress when I close the server, but nothing opened when I started it all. It just did stuff in the terminal, and no program opened showing me the server and stuff. I can only guess that closing the terminal tabs is how I close the server, so I tried to press ctrl+c in there but it just popped up as a command saying "^C".
Pressing Ctrl+C will stop the services, and indeed you should see a "^C" on the terminal.

However, closing the terminal tab won't necessarily close the server (the process might be still running in the background), so always stop the services first with Ctrl+C. If you closed the tab, I suggest you reboot Ubuntu and restart the services again.

Am I supposed to not have some kind of server thing start up and show itself outside the terminals?
If you launched the 3 services in separate terminals as instructed in step 4, they will be running in those terminals only, nothing will show up outside the terminals.

Also, before sending this I realized I should try to log on a char to confirm that the server works, and it said it cannot connect to a login server, connection refused, all login server are offline. I thought maybe I messed up the IP changer stuff, but after messing around with it I noticed my server IP showed up on top of the Tibia client, but I still get the same error message. So I guess the server really didn't start up? What could be wrong? Also, I noticed that at the end of the IP on the client it said 7171, the port, and that was never mentioned anywhere and I haven't seen it, so I'm throwing it out there in case that could also be something I need to change or whatever.
That means the client isn't establishing a connection with your server, probably because the IP changer is not pointing to the server IP.
I won't be able to help you with the IP changer though, that's why I recommend you to edit the client at step 5.

Could the identical IP stuff be part of the problem I just described?
Did you run hostname -I? What's the first number in your IP?

Also, on your Windows, open PowerShell and run this command to get your local IP: (Get-NetIPAddress -AddressFamily IPv4 -PrefixOrigin Dhcp).IPAddress
It should have the same first number. In case it doesn't, you may have missed something in the first step of this tutorial, which is to configure the network in your VM to be Bridged adaptor (another thing you should ask AI or search online).
 
The game server is logging in German because that was the official server from CipSoft, a German company. I'm afraid you won't be able to change the language there, but that doesn't matter as you rarely need to read those logs.


Pressing Ctrl+C will stop the services, and indeed you should see a "^C" on the terminal.

However, closing the terminal tab won't necessarily close the server (the process might be still running in the background), so always stop the services first with Ctrl+C. If you closed the tab, I suggest you reboot Ubuntu and restart the services again.


If you launched the 3 services in separate terminals as instructed in step 4, they will be running in those terminals only, nothing will show up outside the terminals.


That means the client isn't establishing a connection with your server, probably because the IP changer is not pointing to the server IP.
I won't be able to help you with the IP changer though, that's why I recommend you to edit the client at step 5.


Did you run hostname -I? What's the first number in your IP?

Also, on your Windows, open PowerShell and run this command to get your local IP: (Get-NetIPAddress -AddressFamily IPv4 -PrefixOrigin Dhcp).IPAddress
It should have the same first number. In case it doesn't, you may have missed something in the first step of this tutorial, which is to configure the network in your VM to be Bridged adaptor (another thing you should ask AI or search online).

Ah, I thought the German was related to how in the Ubuntu screensaver thing it's in German. Makes sense it's logging in German if it was copied from them.

Alright, ctrl+c worked fine, it gave a proper shut down message in the server terminal. Good to know that it's not supposed to show up outside of them either.

Why isn't the client establishing a connection with my server when the IP is showing on top of the Tibia client? That must mean the IP is straight up wrong, right?
When I tried the "hostname -I" command, I got the exact same IP as when I did the commands for external and internal. It starts with 213. The local IP on my Windows starts with something else and is entirely different. None of my IPs start with "10" or "192".
I did set the VM to bridged adapter, following online guides. I don't know what could be wrong or how to fix it :(
I suppose I could google getting different IPs and hope to find a fix, but if I find none I'm at a loss again.
 
The game server is logging in German because that was the official server from CipSoft, a German company. I'm afraid you won't be able to change the language there, but that doesn't matter as you rarely need to read those logs.


Pressing Ctrl+C will stop the services, and indeed you should see a "^C" on the terminal.

However, closing the terminal tab won't necessarily close the server (the process might be still running in the background), so always stop the services first with Ctrl+C. If you closed the tab, I suggest you reboot Ubuntu and restart the services again.


If you launched the 3 services in separate terminals as instructed in step 4, they will be running in those terminals only, nothing will show up outside the terminals.


That means the client isn't establishing a connection with your server, probably because the IP changer is not pointing to the server IP.
I won't be able to help you with the IP changer though, that's why I recommend you to edit the client at step 5.


Did you run hostname -I? What's the first number in your IP?

Also, on your Windows, open PowerShell and run this command to get your local IP: (Get-NetIPAddress -AddressFamily IPv4 -PrefixOrigin Dhcp).IPAddress
It should have the same first number. In case it doesn't, you may have missed something in the first step of this tutorial, which is to configure the network in your VM to be Bridged adaptor (another thing you should ask AI or search online).


I found something that made me try changing from "bridged adapter" to "NAT". When I did that, I got a new internal IP that did indeed start with "10". My external IP is also now the same one as the one on my Windows. So, it seemed like using "NAT" as the network option instead has fixed it. But maybe it causes other problems, because now when I tried to start the server I got issues there. The query manager connected to the MySQL databse just fine, but then when it was doing "Starting OTServ QueryManager" it got this message and then stopped: "Unable to create server socket (2)!"
I assume that is an error. It did nothing past this.
I tried the server start up command anyway, and my attached picture is the result (the text before the picture is just me executing the command). The German messages at the end are because the query manager failed, it's had more of them pop up now and even one in English saying it can't connect to it. But the stuff before is weird, why is it trying to remove something?
Anyway, did the query manager fail because of missing internet connection due to no bridged adapter, and me getting IPs was just a smokescreen or something?
 

Attachments

how to give privileges to players

in "/realots-query-manager-master/main.cpp"
add
Code:
else if (userlevel == 0) {              
    privs += 4;              
    std::cout << ":: OPEN ::" << std::endl;
}
remove
Code:
else {          
    premDays = 0;          
    trialDays = 0;  
    userlevel = 0;
}
add
Code:
else if (userlevel == 0) {
        // Write God Privs                                  
        writeMsg.addString("PREMIUM_ACCOUNT");
        writeMsg.addString("INVITED");                              
        writeMsg.addString("OPEN_NAMEDDOORS");
        writeMsg.addString("ENTER_HOUSES");
}
recompile
Code:
make -C realots-query-manager-master
 
Last edited:
change for regular players to use houses
in "/realots-query-manager-master/main.cpp"
add
Code:
else if (userlevel == 0) {              
    privs += 4;              
    std::cout << ":: OPEN ::" << std::endl;
}
remove
Code:
else {          
    premDays = 0;          
    trialDays = 0;  
    userlevel = 0;
}
add
Code:
else if (userlevel == 0) {
        // Write God Privs                                  
        writeMsg.addString("PREMIUM_ACCOUNT");
        writeMsg.addString("INVITED");                              
        writeMsg.addString("OPEN_NAMEDDOORS");
        writeMsg.addString("ENTER_HOUSES");
}
recompile
Code:
make -C realots-query-manager-master

Is this some kind of way to make it easier to use houses? Would it be possible for one of you coders to make a file out of this that I can replace my old file with, something like how it worked with the magic system changes that Zangi Highgrove made?
 
it's easier to restore original house owners from the backup file and write your name on invited list 😁
 
I found something that made me try changing from "bridged adapter" to "NAT". When I did that, I got a new internal IP that did indeed start with "10". My external IP is also now the same one as the one on my Windows. So, it seemed like using "NAT" as the network option instead has fixed it. But maybe it causes other problems, because now when I tried to start the server I got issues there. The query manager connected to the MySQL databse just fine, but then when it was doing "Starting OTServ QueryManager" it got this message and then stopped: "Unable to create server socket (2)!"
I assume that is an error. It did nothing past this.
I tried the server start up command anyway, and my attached picture is the result (the text before the picture is just me executing the command). The German messages at the end are because the query manager failed, it's had more of them pop up now and even one in English saying it can't connect to it. But the stuff before is weird, why is it trying to remove something?
Anyway, did the query manager fail because of missing internet connection due to no bridged adapter, and me getting IPs was just a smokescreen or something?
It will be much harder to configure your server if you're using NAT as the VM's network mode. You should go back to Bridged Adapter and make sure that you also select the same network card that your PC is using - e.g.: if you're on a laptop, you may have 2 or more cards: one for the WiFi and one for the wired cable, so pick the one you're currently using.
1695070629703.png

Your public IP will be the same on both Windows and Linux, but this won't matter much for the time being.

My install script sets up several files with the internal IP address at the time of the execution. Meaning that, whenever you change your IP address, you need to update it in several files:
  • "/home/game/.tibia": the configuration to connect to the QueryManager.
  • "/etc/mysql/mysql.conf.d/mysqld.cnf": the bind address for MySQL.
  • "realots-query-manager-master/main.cpp": the query manager, in multiple places. After changing it, you also must recompile the query manager.
  • "realotsloginserver-master/config.lua": the login server.
  • "realotsloginserver-master/gameservers.xml": the configuration to connect to the game server.
As you can imagine, this could be a challenge. So here's my advice:
  • Delete your VM
  • Follow the steps 1 & 2 again to recreate the VM, reinstall Ubuntu and download the script files
  • Change the network mode in your new VM to Bridged Adapter, and select the correct network card
  • Create a VM snapshot - if anything goes wrong, we can simply go back to this step
  • Follow the remaining steps
  • Bonus tip: create a new snapshot after running the script, so now you can also go back to right after all the files are there
  • Only after you manage to login with an existing char to confirm that the server is playable, you may think of customising your server
 
It will be much harder to configure your server if you're using NAT as the VM's network mode. You should go back to Bridged Adapter and make sure that you also select the same network card that your PC is using - e.g.: if you're on a laptop, you may have 2 or more cards: one for the WiFi and one for the wired cable, so pick the one you're currently using.
View attachment 78563

Your public IP will be the same on both Windows and Linux, but this won't matter much for the time being.

My install script sets up several files with the internal IP address at the time of the execution. Meaning that, whenever you change your IP address, you need to update it in several files:
  • "/home/game/.tibia": the configuration to connect to the QueryManager.
  • "/etc/mysql/mysql.conf.d/mysqld.cnf": the bind address for MySQL.
  • "realots-query-manager-master/main.cpp": the query manager, in multiple places. After changing it, you also must recompile the query manager.
  • "realotsloginserver-master/config.lua": the login server.
  • "realotsloginserver-master/gameservers.xml": the configuration to connect to the game server.
As you can imagine, this could be a challenge. So here's my advice:
  • Delete your VM
  • Follow the steps 1 & 2 again to recreate the VM, reinstall Ubuntu and download the script files
  • Change the network mode in your new VM to Bridged Adapter, and select the correct network card
  • Create a VM snapshot - if anything goes wrong, we can simply go back to this step
  • Follow the remaining steps
  • Bonus tip: create a new snapshot after running the script, so now you can also go back to right after all the files are there
  • Only after you manage to login with an existing char to confirm that the server is playable, you may think of customising your server

Ughhhh, don't tell me that it all got ruined because I changed to NAT? :(
I am so exhausted of all this rocket science and I just want to play. I don't want to have to give up when everything is done and I almost made it through this incredibly difficult journey to fulfill my dream. But there's no way I'm starting over again after working hard on this for over a week, I can't go through all of this again, there's so much stuff and there's no way I'll even remember half of it :(
Please tell me I can just change back to Bridged Adapter without the files being ruined. Although them being ruined would explain why the server didn't work. Ah man, just kill me :(

Edit: There's just one card or whatever to choose from when I put bridged adapter. It says Ethernet Connection in it, so it doesn't even sound like a card to me. I changed back to bridged adapter and tried to start the server again before giving up, and it worked to load it again now. You nearly gave me a heart attack lol. I checked the IP again and I'm back to having the non-functional one which my Tibia can't connect to. Bridged adapter is selected and the only card thing is selected, how do I change from this bad IP to one I can connect to? :(

Edit again: Could it maybe be a port issue? I haven't seen anything about the port anywhere other than on top of my Tibia client when the IP shows up there from the IP changer, and it puts 7171 as the port. Is it maybe the wrong port or it needs to be forwarded or something? I know it doesn't change the fact that I only get one IP and it doesn't have the numbers you wanted it to have, but it's just a thought, I know ports tend to be important.
 
Last edited:
Back
Top