• 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] Linux 8.6 Engine

GoalTV

NANI?!
Joined
Jul 23, 2011
Messages
589
Reaction score
53
Hello.

--Update 2018 Version Debian 9--

Here is updated version for latest Debian 9 as Debian 6 is technically dead

OS: Debian 9.4 x64


First of all we update the OS with follow commands

Code:
apt  update
Code:
apt upgrade

Let's make OTS dir let make one in / but you can choose any location

Code:
 mkdir /ots
Code:
 cd /ots

Now we download our engine source

first create source folder
Code:
 mkdir source
Code:
 cd source

Now Download

Code:
wget https://domain.glass/source.zip

We install zip and unzip the zip with command

Code:
 apt install zip
Code:
unzip source.zip

Now we install required libs required for the engine with follow command

Code:
apt install libboost1.62-dev

Code:
apt install liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 libsqlite0 libsqlite0-dev libsqlite3-0 libsqlite3-dev sqlite3 lua5.1 libmysql++-dev libgmp3-dev subversion make g++ libxml2 libxml2-dev libxml++2.6-dev libmariadbclient-dev mariadb-client mariadb-common mariadb-server gcc cpp automake autoconf pkg-config

Code:
apt install libboost1.62

Now we have everything installed to make the engine.

Lets start the final part

Code:
chmod +x autogen.sh

Code:
./configure CFLAGS=-fPIC CXXFLAGS=-fPIC
Code:
./autogen.sh && ./configure --enable-mysql --enable-server-diag
Code:
sed -i 's/  -lxml2$/ -lxml2 -lpthread/' Makefile
Code:
make

You should now have file called
theforgottenserver

move it to /ots with command

Code:
mv theforgottenserver /ots


Now you can upload your OTS file to /ots

and turn on ots with command

Code:
screen ./theforgottenserver

And that's all :)


--------------------------------------------------

--------------------------------------------------



OS: Debian 6 x64

Lots of people have problem with Linux for Tibia 8.6 so here is my way how I do it :)

Code:
apt-get update
Code:
apt-get upgrade

Code:
 cd /home
Code:
mkdir ots
Code:
cd ots

Code:
wget freesa-mp.com/1.zip

Note:
every Linux dist like debian,ubuntu have different version of libboost
to find your version go
Code:
apt-cache search libboost
and last lines

libboost1.49-all-dev - Boost C++ Libraries development files (ALL)
libboost1.49-dbg - Boost C++ Libraries with debug symbols
libboost1.49-dev - Boost C++ Libraries development files
libboost1.49-doc - Boost.org libraries documentation

so its libboost1.49 all you need is change number in apt-get install libboost1.49-dev........
and apt-get install libboost1.49......



Code:
apt-get install libboost1.49-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 libsqlite0 libsqlite0-dev libsqlite3-0 libsqlite3-dev sqlite3 lua5.1 libmysql++-dev libgmp3-dev subversion make g++ libxml2 libxml2-dev libxml++2.6-dev libmysqlclient15-dev mysql-client-5.5 mysql-common mysql-server-5.5 gcc cpp automake autoconf pkg-config

Code:
apt-get install libboost1.49

Code:
apt-get install zip

Code:
unzip 1.zip

Code:
cd 1

Code:
chmod +x autogen.sh


Code:
./autogen.sh && ./configure --enable-mysql --enable-server-diag && make

after you will have in folder 1 file theforgottenserver move it to ots folder
put your data and mods and config

then set you datebase

then

make new user

Code:
adduser ots

exit of putty login to new user

then go to
Code:
cd /home/ots

and write
Code:
screen

and turn on server

Code:
./theforgottenserver


any questions ask on this forum :)

if you how the follow error
Code:
scriptmanager.cpp: In member function ‘bool ScriptingManager::loadMods()’:
scriptmanager.cpp:122:23: error: ‘class boost::filesystem3::directory_entry’ has no member named ‘leaf’
make[1]: *** [scriptmanager.o] Error 1

all you need is edit these files scriptmanager.cpp and luascript.cpp

and change
std::string s = it->leaf();
to
std::string s = it->path().filename().string();


Best Regards
mlody.1039
 
Last edited:
For resett your server :eek:

./shutdown in ot

and then putty screen -list

copy screen name

screen -r (name)

and press ctrl and c

then arrow up and enter




Maybe try -> ctrl + c
 
Last edited:
@mlody A lot of the packages you listed contain a version number down to minor version number. Is this really necessary? Any sane distro holds the latest version of the library in a package name without the version (such as libboost on Debian-likes).
Also, if the OT engine you're compiling doesn't work with latest libraries, it's a good opportunity to file a bug against that engine :)
 
@mlody A lot of the packages you listed contain a version number down to minor version number. Is this really necessary? Any sane distro holds the latest version of the library in a package name without the version (such as libboost on Debian-likes).
Also, if the OT engine you're compiling doesn't work with latest libraries, it's a good opportunity to file a bug against that engine :)

Well This is the way I always doing and all working fine never got any crash etc but if you have any better way or change some packages to better fell free to add them below in comments
 
root@kali-danylook:/home/ots/1# ./autogen.sh && ./configure --enable-mysql --enable-server-diag && make
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:3: installing `./install-sh'
configure.ac:3: installing `./missing'
Makefile.am: installing `./depcomp'
autoreconf: Leaving directory `.'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
 
root@kali-danylook:/home/ots/1# ./autogen.sh && ./configure --enable-mysql --enable-server-diag && make
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:3: installing `./install-sh'
configure.ac:3: installing `./missing'
Makefile.am: installing `./depcomp'
autoreconf: Leaving directory `.'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk




What OS are you using and version?
 
Sorry I never played with engine 8.1
I started from 8.6 and once played wit 7.6 if correct haven't played tibia now for 2 yrs.
 
Back
Top