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

SIMPLE ALL IN ONE: From nothing to a fully working dedicated server on Ubuntu

@Don Daniello You might want to make it more obvious in the first post that people need to change that. Seems like not everyone does.
It already says:
Now log in as "otsmanager" (default password: "otsmanager") and change your password (passwd command). You will see instructions how to use your server after you log in.
I don't think it can be any more explicit.
 
I don't think it can be any more explicit.
Well i guess it can. I read it as well, but obviously multiple people did not. Of course you can state that it is their own fault, but it is no effort to at least mark it in red. Or change the system so that it requires you to change this users password on the first login. That is possible to do as well.
 
Hello, its my first time trying to use a linux host and im getting this error:
fb5babb8c1a49b26e48dd76a60175fc0.png

Is this error something to do with TASK[git] or does it have to do with localhost?

Im using Ubuntu 16.04, im trying to figure it out but my linux skills are almost non existant right now
appreciate any help or tips!
 
@Don Daniello
Hello,
Just to get one thing out of the way, I'm very noob as these things (I try the best I can though).

I tried to use your dedi setup.
I noticed it can't be used on Ubuntu 18, lots and lots of errors.. but that's fine for me.. I prefer ubuntu 16

When I try to install the dedi using your stuffs, I get some weird errors that I couldn't google for at all, nothing to be found.
So you're my only hope here.

Install problems in Ubuntu 16.04
Because the full command line didn't work to install everything, I broke them down and tried to install things one by one.
Error 1:
Code:
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning --purge -t phpMyAdmin
TASK [Set preseed info] ****
fatal: [localhost]: FAILED! => {"failed": true, "msg": "ERROR! 'randompass' is undefined"}

PLAY RECAP *
localhost : ok=8 changed=0 unreachable=0 failed=1

Error 2:
Code:
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning --purge -t tfs
TASK [Cmake forgottenserver source] ****
fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["cmake", ".."], "delta": "0:00:01.054080", "end": "2019-05-30 18:24:34.805495", "failed": true, "rc": 1, "start": "2019-05-30 18:24:33.751415", "stderr": "CMake Error at /usr/share/cmake-3.5/Modules/FindBoost.cmake:1677 (message):\n Unable to find the requested Boost libraries.\n\n Boost version: 1.58.0\n\n Boost include path: /usr/include\n\n Could not find the following Boost libraries:\n\n boost_filesystem\n\n Some (but not all) of the required Boost libraries were found. You may\n need to install these additional Boost libraries. Alternatively, set\n BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT\n to the location of Boost.\nCall Stack (most recent call first):\n CMakeLists.txt:46 (find_package)", "stdout": "-- The C compiler identification is GNU 5.4.0\n-- The CXX compiler identification is GNU 5.4.0\n-- Check for working C compiler: /usr/bin/cc\n-- Check for working C compiler: /usr/bin/cc -- works\n-- Detecting C compiler ABI info\n-- Detecting C compiler ABI info - done\n-- Detecting C compile features\n-- Detecting C compile features - done\n-- Check for working CXX compiler: /usr/bin/c++\n-- Check for working CXX compiler: /usr/bin/c++ -- works\n-- Detecting CXX compiler ABI info\n-- Detecting CXX compiler ABI info - done\n-- Detecting CXX compile features\n-- Detecting CXX compile features - done\n-- cotire 1.7.6 loaded.\n-- Performing Test COMPILER_KNOWS_CXX11\n-- Performing Test COMPILER_KNOWS_CXX11 - Success\n-- Performing Test COMPILER_KNOWS_STDLIB\n-- Performing Test COMPILER_KNOWS_STDLIB - Failed\n-- Performing Test COMPILER_KNOWS_LTO\n-- Performing Test COMPILER_KNOWS_LTO - Success\n-- Found Crypto++: /usr/include \n-- Found PugiXML: /usr/include \n-- MySQL Include dir: /usr/include/mysql library dir: /usr/lib/x86_64-linux-gnu\n-- MySQL client libraries: /usr/lib/x86_64-linux-gnu/libmysqlclient.so\n-- Looking for pthread.h\n-- Looking for pthread.h - found\n-- Looking for pthread_create\n-- Looking for pthread_create - not found\n-- Looking for pthread_create in pthreads\n-- Looking for pthread_create in pthreads - not found\n-- Looking for pthread_create in pthread\n-- Looking for pthread_create in pthread - found\n-- Found Threads: TRUE \n-- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version \"2.0.4\") \n-- CXX target tfs cotired without unity build.\n-- Configuring incomplete, errors occurred!\nSee also \"/home/otsmanager/forgottenserver/build/CMakeFiles/CMakeOutput.log\".\nSee also \"/home/otsmanager/forgottenserver/build/CMakeFiles/CMakeError.log\".", "stdout_lines": ["-- The C compiler identification is GNU 5.4.0", "-- The CXX compiler identification is GNU 5.4.0", "-- Check for working C compiler: /usr/bin/cc", "-- Check for working C compiler: /usr/bin/cc -- works", "-- Detecting C compiler ABI info", "-- Detecting C compiler ABI info - done", "-- Detecting C compile features", "-- Detecting C compile features - done", "-- Check for working CXX compiler: /usr/bin/c++", "-- Check for working CXX compiler: /usr/bin/c++ -- works", "-- Detecting CXX compiler ABI info", "-- Detecting CXX compiler ABI info - done", "-- Detecting CXX compile features", "-- Detecting CXX compile features - done", "-- cotire 1.7.6 loaded.", "-- Performing Test COMPILER_KNOWS_CXX11", "-- Performing Test COMPILER_KNOWS_CXX11 - Success", "-- Performing Test COMPILER_KNOWS_STDLIB", "-- Performing Test COMPILER_KNOWS_STDLIB - Failed", "-- Performing Test COMPILER_KNOWS_LTO", "-- Performing Test COMPILER_KNOWS_LTO - Success", "-- Found Crypto++: /usr/include ", "-- Found PugiXML: /usr/include ", "-- MySQL Include dir: /usr/include/mysql library dir: /usr/lib/x86_64-linux-gnu", "-- MySQL client libraries: /usr/lib/x86_64-linux-gnu/libmysqlclient.so", "-- Looking for pthread.h", "-- Looking for pthread.h - found", "-- Looking for pthread_create", "-- Looking for pthread_create - not found", "-- Looking for pthread_create in pthreads", "-- Looking for pthread_create in pthreads - not found", "-- Looking for pthread_create in pthread", "-- Looking for pthread_create in pthread - found", "-- Found Threads: TRUE ", "-- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version \"2.0.4\") ", "-- CXX target tfs cotired without unity build.", "-- Configuring incomplete, errors occurred!", "See also \"/home/otsmanager/forgottenserver/build/CMakeFiles/CMakeOutput.log\".", "See also \"/home/otsmanager/forgottenserver/build/CMakeFiles/CMakeError.log\"."], "warnings": []}

PLAY RECAP *
localhost : ok=19 changed=10 unreachable=0 failed=1

Help would be very appreciated!
Thanks in advance :)
 
@Don Daniello Your install thing doesn't work on ubuntu 18, errors say some ini file wasn't found and address points to a php 7.0 file, while it seems like ubuntu 18 has php 7.2 :(
And I don't know how to work around that :(
 
@Don Daniello Your install thing doesn't work on ubuntu 18, errors say some ini file wasn't found and address points to a php 7.0 file, while it seems like ubuntu 18 has php 7.2 :(
And I don't know how to work around that :(
I'll have to update it for 18.04 LTS. It probably doesn't work yet.
 
I'll have to update it for 18.04 LTS. It probably doesn't work yet.
How long would you expect that to take?
Is there anything I can do meanwhile (trying to install it on my ubuntu 18 laptop) :(

Thanks for reply though :)
 
How long would you expect that to take?
Is there anything I can do meanwhile (trying to install it on my ubuntu 18 laptop) :(

Thanks for reply though :)
Try this - it's experimental now:
Bash:
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning --purge -t default,phpMyAdmin,DevAAC,tfs,tfs-old -C ubuntu1804
 
Try this - it's experimental now:
Bash:
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning --purge -t default,phpMyAdmin,DevAAC,tfs,tfs-old -C ubuntu1804
Works fine, thank you! :)
 
Ubuntu is a distribution based on Debian so if you are familiar with Debian, you will know how to use Ubuntu too.
This is the simplest guide how to configure your dedicated server ever. It cannot be simpler :)

You need a recent Ubuntu version (15.04 minimum). It also makes TFS compilation with LuaJIT possible.
Current latest supported (tested) version of Ubuntu is 18.04 - use this version if you can.

This must be a fresh-install, bare system. If you attempted to install anything on it before, reinstall the OS first.

Log in as root and execute:
Bash:
apt update
apt install -y -q python-paramiko python-yaml python-jinja2 python-simplejson git-core ansible aptitude
ansible-pull -i localhost, -U https://github.com/DevelopersPL/otshosting-provisioning.git -d /srv/otshosting-provisioning

Now log in as "otsmanager" (default password: "otsmanager") and change your password (passwd command). You will see instructions how to use your server after you log in.

We also have a detailed documentation for you on how to use your server: Home · DevelopersPL/otshosting-provisioning Wiki · GitHub

Hint: To update, you can run the last command (ansible-pull...) over and over again, even through cron, to make sure you have latest updates for your system and use our newest provisioning scripts.

This will:
  • Create a system user "otsmanager" with password "otsmanager"
  • Install required packages
  • Install and configure MySQL server with daily backups in /var/lib/automysqlbackup
  • Install phpMyAdmin to run at http://yourip:3380
  • Install nginx webserver with PHP5-FPM support. Put your web files in /home/otsmanager/www/public_html
  • Download and compile tfs source into /home/otsmanager/forgottenserver
  • Install auto-restarter and auto-start utility for TFS
  • Create "forgottenserver" database on MySQL server, generate random password and set it in config.lua
  • Import forgottenserver.sql schema into forgottenserver database
  • Install DevAAC. It does not modify your database so if you don't want to use it, just delete contents of /home/otsmanager/www

The whole procedure is tested, safe and secure. If you want to know how it works, check out Ansible is Simple IT Automation and GitHub - DevelopersPL/otshosting-provisioning: Ansible playbook for provisioning of OTS Hosting Ubuntu 15.04+ box.

This is how we install the OTS Hosting Service I am offering. I do not provide direct support or help with using this method. You are only guaranteed support if you purchase my hosting service. It's probably the cheapest way to host your server 24/7 for ~20 EUR / month with DDoS protection.

Feel free to post questions in this thread and issues to the GitHub repository.

otsmanager@localhost:~$ start tfs
Failed to connect to bus: No such file or directory
 
Great server and guide, I got it all working no problemo.
Nice job
 
Last edited:
@Don Daniello Sorry to bother you again, but I'm trying to compile a TFS 1.2 8.60 server on ubuntu 18 after used your tools,
And it compiles fine, until it's about to link into the tfs file and I get a shitload of errors,
Code:
/home/otsmanager/evoground/source/src/luascript.cpp:3536: undefined reference to `lua_getglobal'
/home/otsmanager/evoground/source/src/luascript.cpp:3543: undefined reference to `lua_getglobal'
/home/otsmanager/evoground/source/src/luascript.cpp:3552: undefined reference to `lua_callk'
CMakeFiles/tfs.dir/src/npc.cpp.o: In function `NpcScriptInterface::registerFunctions()':
/home/otsmanager/evoground/source/src/npc.cpp:502: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:503: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:504: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:505: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:506: undefined reference to `lua_setglobal'
CMakeFiles/tfs.dir/src/npc.cpp.o:/home/otsmanager/evoground/source/src/npc.cpp:507: more undefined references to `lua_setglobal' follow
collect2: error: ld returned 1 exit status
CMakeFiles/tfs.dir/build.make:2003: recipe for target 'tfs' failed
make[2]: *** [tfs] Error 1
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/tfs.dir/all' failed
make[1]: *** [CMakeFiles/tfs.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
otsmanager@evoground:~/evoground/source/build$

How do I bypass that error to finish the compile? :eek:
 
Hello, I get this error whenever I use the command log/follow tfs
Code:
No journal files were opened due to insufficient permissions.
 
@Don Daniello mine fails at this point. Please help!

TASK [Install wine] ****
fatal: [localhost]: FAILED! => {"cache_update_time": 1569783287, "cache_updated": true, "changed": false, "msg": "'/usr/bin/apt-get -y -o \"Dpkg::Options::=--force-confdef\" -o \"Dpkg::Options::=--force-confold\" install 'wine'' failed: E: Package 'wine' has no installation candidate\n", "rc": 100, "stderr": "E: Package 'wine' has no installation candidate\n", "stderr_lines": ["E: Package 'wine' has no installation candidate"], "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nPackage wine is a virtual package provided by:\n wine-stable 3.0-1ubuntu1\n wine-development 3.6-1\n\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "Package wine is a virtual package provided by:", " wine-stable 3.0-1ubuntu1", " wine-development 3.6-1", ""]}
 
@Don Daniello Sorry to bother you again, but I'm trying to compile a TFS 1.2 8.60 server on ubuntu 18 after used your tools,
And it compiles fine, until it's about to link into the tfs file and I get a shitload of errors,
Code:
/home/otsmanager/evoground/source/src/luascript.cpp:3536: undefined reference to `lua_getglobal'
/home/otsmanager/evoground/source/src/luascript.cpp:3543: undefined reference to `lua_getglobal'
/home/otsmanager/evoground/source/src/luascript.cpp:3552: undefined reference to `lua_callk'
CMakeFiles/tfs.dir/src/npc.cpp.o: In function `NpcScriptInterface::registerFunctions()':
/home/otsmanager/evoground/source/src/npc.cpp:502: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:503: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:504: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:505: undefined reference to `lua_setglobal'
/home/otsmanager/evoground/source/src/npc.cpp:506: undefined reference to `lua_setglobal'
CMakeFiles/tfs.dir/src/npc.cpp.o:/home/otsmanager/evoground/source/src/npc.cpp:507: more undefined references to `lua_setglobal' follow
collect2: error: ld returned 1 exit status
CMakeFiles/tfs.dir/build.make:2003: recipe for target 'tfs' failed
make[2]: *** [tfs] Error 1
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/tfs.dir/all' failed
make[1]: *** [CMakeFiles/tfs.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
otsmanager@evoground:~/evoground/source/build$

How do I bypass that error to finish the compile? :eek:
I am having this same issue. Did you ever figure out the problem?
 
Im getting this error while runing the last ansible command.Captura.PNG
 
Don't use -c 1804, it was a temporary command. Use what's in the first post of this thread.
 
I´m using Ubuntu 18.04. Tried with command from original post and...
1573403221694.png
 
Back
Top