• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Solved Setting up the incredibly unpopular RL map server help

Kohlrak

New Member
Joined
Apr 7, 2016
Messages
6
Reaction score
0
I'm going to break this up into parts, since it should make it easier to deal with the issues that I'm having. I want to get out of the way that already I know how to port forward and things like that.

1. Anyone have a RL map that is semi-stable? I understand they're not popular, but i'm doing this for a personal server moreso than anything else. My searches lead me to understand that frankframer's real map is the standard, but the links are dead. I just want a stable realmap to play tibia like i couldn't before when dealing with the race wars. Plus, it might be useful for helping some people i know with their English.

2. Do I have to run a special type of OT server to run a real map or is the standard OT up to date and stable enough?

3. Has there been any success in getting it to run with sqlite?

4. I understand that some SQL configuration is necessary, but the docs i found mention permissions only, nothing involving setup or anything like that.

5. How do i set up that cmake to actually use the configuration? I'm familiar with make, automake, but not cmake.

EDIT: I don't know why i can't mark this solved in the title.

Basically, after upgrading fedora (was on 16: Verne), cmake was able to work well with it.

SOLUTION:

For server: grab tfs (the forgotten server) 1.2, orts (the projects are kept separate for bandwidth and space concerns), install necessary packages, cmake; make; put tfs in the same directory as data and config.lua. phpMyAdmin will complain on uploading of the sql, but that, as far as I can see, doesn't matter. I made the orts thing harder than it needed to be by not catching the .xml files. Don't forget to extract the rar, too. Go over the whole config and edit it (ip binding is misleading for reasons seen below), don't try to quick start this server, or it'll be headache after headache. Znote ACC will make account creation easier, but it's simple enough to set up if you follow the instructions. If you're doing this for the same reason as me, you'll either dissect Znote ACC or make your own small page to manage accounts and characters for you, since you don't need all those features to confuse yourself and others.

For client: grab 10.77 (official), grab windows' pre-compiled version of otc. You will still need file from the uncompiled version of otc, so just throw the pre-compiled file into that directory. Make a folder in data/things called "1076" throw the .dat and .spr from the 10.77 install in there (this is the step that's legally shakey). Set client version to 1076, and you're good to go. This could become a problem with newer versions of the forgotten server.
 
Last edited:
1. Use ORTS its a real tibia datapack for TFS 1.X:
2. Use TFS 1.X since its a good server, TFS 1.2 is currently under development so for a stable release use TFS 1.1 or TFS 1.0 which can be found here:
3. TFS 1.X does not support SQLite, I'm not a fan of SQLite either so I wouldn't even use it since it's so much better with MySQL both for websites and easy to edit on the go.

4. You can follow this tutorial by Znote how to setup both TFS 1.X and MySQL server / webserver and ZnoteAAC.
5. Are you going to compile on Linux? Then simply run theese commands:
Remember, you also need to install the required libs before you attempt to compile.
Debian:
Code:
apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev libpugixml-dev

Ubuntu:
Code:
sudo apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev libpugixml-dev

First navigate into the servers folder using cd, for example:
Code:
cd forgottenserver

Then create a folder named build and navigate into that one aswell.
Code:
mkdir build && cd build

Now run cmake with this command:
Code:
cmake ..
Cmake will now start to generate the build files.

Once cmake is done you simply run this command:
Code:
make
Wait until the compiler hits 100%, you're now done and a engine file should be located in the build folder, move it to the same location as your config.lua and start the server.

(If you use TFS 1.0 or 1.1, the releases already comes with an compiled engine).
If you use Windows, you can either compile TFS using this guide:
You can also use nightly builds which you can find here:
 
1. Use ORTS its a real tibia datapack for TFS 1.X:
2. Use TFS 1.X since its a good server, TFS 1.2 is currently under development so for a stable release use TFS 1.1 or TFS 1.0 which can be found here:
3. TFS 1.X does not support SQLite, I'm not a fan of SQLite either so I wouldn't even use it since it's so much better with MySQL both for websites and easy to edit on the go.

4. You can follow this tutorial by Znote how to setup both TFS 1.X and MySQL server / webserver and ZnoteAAC.
5. Are you going to compile on Linux? Then simply run theese commands:
Remember, you also need to install the required libs before you attempt to compile.
Debian:
Code:
apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev libpugixml-dev

Ubuntu:
Code:
sudo apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev libpugixml-dev

First navigate into the servers folder using cd, for example:
Code:
cd forgottenserver

Then create a folder named build and navigate into that one aswell.
Code:
mkdir build && cd build

Now run cmake with this command:
Code:
cmake ..
Cmake will now start to generate the build files.

Once cmake is done you simply run this command:
Code:
make
Wait until the compiler hits 100%, you're now done and a engine file should be located in the build folder.

(If you use TFS 1.0 or 1.1, the releases already comes with an compiled engine).
If you use Windows, you can either compile TFS using this guide:
You can also use nightly builds which you can find here:
lol, the master of Linux
 
Thank you for the fast response. Took me a while, because cmake was out of date so i decided that while i'm recovering from wisdom tooth extraction, i may as well finally update my server (postfix didn't suck as much to set up this time, which is a real surprise as usually i fight with that thing for days trying to get it to work, but i gotta figure out how to get this swap file to work).

1. Use ORTS its a real tibia datapack for TFS 1.X:

https://github.com/orts

Do i need the datapack as well, or just the map itself?

2. Use TFS 1.X since its a good server, TFS 1.2 is currently under development so for a stable release use TFS 1.1 or TFS 1.0 which can be found here:

TFS 1.0

https://github.com/otland/forgottenserver/tree/1.0

TFS1.1

https://github.com/otland/forgottenserver/tree/1.1

TFS 1.2

https://github.com/otland/forgottenserver

I'll experiment with 1.2 (stating this for reference purposes).

3. TFS 1.X does not support SQLite, I'm not a fan of SQLite either so I wouldn't even use it since it's so much better with MySQL both for websites and easy to edit on the go.

I prefer it's compact nature. If things could be more self-contained, dist-upgrades would be so much easier.

4. You can follow this tutorial by Znote how to setup both TFS 1.X and MySQL server / webserver and ZnoteAAC.

https://otland.net/threads/video-tu...ing-ot-server-website-and-shop-system.166818/

I hate to say i'm having a hard time following this, since i am not familiar with these tools at all and i'm doing this from fedora (client will be windows until i get another linux laptop). I normally just let things install their own mysql permissions for what little i use them for (like squirrelmail, which is probably the only thing that may even use mysql on my server atm [if even it does]). Do you have any videos that might be more friendly to my secure shell connection?


5. Are you going to compile on Linux? Then simply run theese commands:
Remember, you also need to install the required libs before you attempt to compile.
Debian:
Code:
apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev libpugixml-dev

Ubuntu:
Code:
sudo apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev libpugixml-dev

First navigate into the servers folder using cd, for example:
Code:
cd forgottenserver

Then create a folder named build and navigate into that one aswell.
Code:
mkdir build && cd build

Now run cmake with this command:
Code:
cmake ..
Cmake will now start to generate the build files.

Once cmake is done you simply run this command:
Code:
make
Wait until the compiler hits 100%, you're now done and a engine file should be located in the build folder, move it to the same location as your config.lua and start the server.

(If you use TFS 1.0 or 1.1, the releases already comes with an compiled engine).
If you use Windows, you can either compile TFS using this guide:

https://otland.net/threads/compilin...-32-bits-pics-and-lots-of-explanation.204532/

You can also use nightly builds which you can find here:

http://nightlies.otland.net/

Fedora. Getting certain packages to install was a challenge, but I got everything. For reference purposes, remove "lib" and replace "-dev" with "-devel." gcc and gcc-c++ have to be installed as such instead of build-essentials, since it's not a package.

EDIT: I have discovered phpMyAdmin, the program he does the database stuff with, has a package. And it's merely as simple as making a user, giving it all permissions, and making config.lua's section on SQL match username, password, and database. Next step is to work on the client to see if everything truly is working, or if it just says it's working (database complained about alot of errors when uploading the schema).

EDIT2: Yeah, the schema didn't upload correctly. The tables are all there it would seem, but the data is not. Gonna try 1.1 since there is alot missing in the config files.

EDIT3: Yeah, i don't know why, but every time I upload those tables (and i delete them before trying again), they end up empty. Theres config in the video I don't see in the config.lua (like the sha encryption that gives him trouble), so i'm at a total loss as to what to do.
 
Last edited:
Do i need the datapack as well, or just the map itself?
You should use both the datapack and map if you want the everything to work, quests, actions and stuff.

Do you have any videos that might be more friendly to my secure shell connection?
https://www.digitalocean.com/commun...install-lamp-linux-apache-mysql-php-on-fedora

Fedora. Getting certain packages to install was a challenge, but I got everything. For reference purposes, remove "lib" and replace "-dev" with "-devel." gcc and gcc-c++ have to be installed as such instead of build-essentials, since it's not a package.
Code:
sudo dnf install git cmake gcc-c++ boost-devel gmp-devel community-mysql-devel lua-devel pugixml-devel
The rest of the compiling process is the same.

EDIT: I have discovered phpMyAdmin, the program he does the database stuff with, has a package. And it's merely as simple as making a user, giving it all permissions, and making config.lua's section on SQL match username, password, and database. Next step is to work on the client to see if everything truly is working, or if it just says it's working (database complained about alot of errors when uploading the schema).
EDIT2: Yeah, the schema didn't upload correctly. The tables are all there it would seem, but the data is not. Gonna try 1.1 since there is alot missing in the config files.
What errors do you get?

EDIT3: Yeah, i don't know why, but every time I upload those tables (and i delete them before trying again), they end up empty. Theres config in the video I don't see in the config.lua (like the sha encryption that gives him trouble), so i'm at a total loss as to what to do.
TFS 1.X only got sha1 encryption, nothing else so you won't need to edit such things in configs.
Simply just enter the database details and start the server.
 
TFS 1.X only got sha1 encryption, nothing else so you won't need to edit such things in configs.
Simply just enter the database details and start the server.
If a user uses gesiorAAC it will complain that there's no "passwordType = sha1" in the config.lua So it's a must to put it in there if he use's GesiorAAC.
 
If a user uses gesiorAAC it will complain that there's no "passwordType = sha1" in the config.lua So it's a must to put it in there if he use's GesiorAAC.

Server starts fine, except it has no data from the DB.

You should use both the datapack and map if you want the everything to work, quests, actions and stuff.

Gotcha. We'll take it one step at a time. I gotta walk around a world before i walk around my world.

What errors do you get?

Of varying times for each section "MySQL returned an empty result set (i.e. zero rows). (Query took 0.4180 seconds.)." Seems to be mentioning all queries in that file. Ah, but i just found this little "warning" though.

Code:
Notice in ./../php/SqlParser/Components/OptionsArray.php#218
[IMG]http://192.168.1.2/phpMyAdmin/themes/dot.gif[/IMG] Trying to get property of non-object

Backtrace

./../php/SqlParser/Components/CreateDefinition.php#228: SqlParser\Components\OptionsArray::parse(
object,
object,
array,
)
./../php/SqlParser/Statements/CreateStatement.php#367: SqlParser\Components\CreateDefinition::parse(
object,
object,
)
./../php/SqlParser/Statement.php#93: SqlParser\Statements\CreateStatement->parse(
object,
object,
)
./../php/SqlParser/Parser.php#464: SqlParser\Statement->__construct(
object,
object,
)
./../php/SqlParser/Parser.php#342: SqlParser\Parser->parse()
./../php/SqlParser/Utils/Query.php#380: SqlParser\Parser->__construct(string 'CREATE TABLE IF NOT EXISTS `players` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `group_id` int(11) NOT NULL DEFAULT \'1\', `account_id` int(11) NOT NULL DEFAULT \'0\', `level` int(11) NOT NULL DEFAULT \'1\', `vocation` int(11) NOT NULL DEFAULT \'0\', `health` int(11) NOT NULL DEFAULT \'150\', `healthmax` int(11) NOT NULL DEFAULT \'150\', `experience` bigint(20) NOT NULL DEFAULT \'0\', `lookbody` int(11) NOT NULL DEFAULT \'0\', `lookfeet` int(11) NOT NULL DEFAULT \'0\', `lookhead` int(11) NOT NULL DEFAULT \'0\', `looklegs` int(11) NOT NULL DEFAULT \'0\', `looktype` int(11) NOT NULL DEFAULT \'136\', `lookaddons` int(11) NOT NULL DEFAULT \'0\', `maglevel` int(11) NOT NULL DEFAULT \'0\', `mana` int(11) NOT NULL DEFAULT \'0\', `manamax` int(11) NOT NULL DEFAULT \'0\', `manaspent` int(11) unsigned NOT NULL DEFAULT \'0\', `soul` int(10) unsigned NOT NULL DEFAULT \'0\', `town_id` int(11) NOT NULL DEFAULT \'0\', `posx` int(11) NOT NULL DEFAULT \'0\', `posy` int(11) NOT NULL DEFAULT \'0\', `posz` int(11) NOT NULL DEFAULT \'0\', `conditions` blob NOT NULL, `cap` int(11) NOT NULL DEFAULT \'0\', `sex` int(11)

NOTE: The website doesn't seem to like the full log posted, so I cut the end, but it's more of the same stuff, and nothing seems to be hilighted.

EDIT3: Yeah, i don't know why, but every time I upload those tables (and i delete them before trying again), they end up empty. Theres config in the video I don't see in the config.lua (like the sha encryption that gives him trouble), so i'm at a total loss as to what to do.
TFS 1.X only got sha1 encryption, nothing else so you won't need to edit such things in configs.
Simply just enter the database details and start the server.

Ok, that simplifies everything.

EDIT: ZnoteACC has the same issue with it's DB. Doing some digging, and it's a DB compatibility issue. There are some things MySQL lets you get away with that you otherwise would not be able to with any other DB.

EDIT2: Trying to manually run the following creates tables, no data (yes, i pulled this straight from the file), but gives us no errors.

Code:
CREATE TABLE IF NOT EXISTS `accounts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) NOT NULL,
  `password` char(40) NOT NULL,
  `type` int(11) NOT NULL DEFAULT '1',
  `premdays` int(11) NOT NULL DEFAULT '0',
  `lastday` int(10) unsigned NOT NULL DEFAULT '0',
  `email` varchar(255) NOT NULL DEFAULT '',
  `creation` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB;

I'm going to continue setting up ZnoteACC assuming that this issue will resolve itself if i create users manually. I'm hoping that's all i need to create.

EDIT3: Still trying to get a client, too. OTC tutorial seems nonexistant, and it can't find working directory.

EDIT4: OTC working, sorta. Server demands 10.77 for some reason, otc doesn't have 10.77 option available. Now i'm stuck.

EDIT5: Server starts up fine, can even land that version mismatch (turns out 10.76 works), but cannot make the second connection. Incase it was a port issue with lower ports or something, i ran as root as well, but no dice. 10061 if that means something.

EDIT6: Version checking port binds to all IPs, but not the game server (must set ip in config.lua). Gonna set the world data next and hopefully this step will go smoothly.
 
Last edited:

Similar threads

Back
Top