Hi guys,
in the last days, i tried to setup my own server. I went through some ups and downs but finally got it running.
Now i want to share my experience, so that you can get your own server up and running (hopefully) without any further trouble.
I want to apologize for my bad english (my main language is german).
But let's get started:
Requirements:
- A server running CentOS (but the tutorial might be easily adaptable for Ubuntu/Debian etc. -> You might want to contact me when you run into problems)
- Basic knowledge about the linux-shell (used: bash, but should work with any other shell)
At first we need to install some dependencies and setup a user with whom we install the steamcmd.
If you're not sure which architecture you have, type in 'uname -m' (x86_64 = 64-bit; other = 32-bit).
Code:# 32-bit RH/CentOS yum install glibc libstdc++ # 64-bit RH/CentOS yum install glibc.i686 libstdc++.i686# setup the user (you must be root or use sudo to execute these commands) useradd -m steam # switching to the steam user su - steam
Now we need to install the steamcmd.
The next step is to create a file named install.txt in which we write our installation-script.Code:# create a directory for the steamcmd mkdir ~/steamcmd # change to the directory cd ~/steamcmd# download the steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz # extract it tar -xvzf steamcmd_linux.tar.gz
So run 'nano install.txt' (or use any other editor you're familiar with) and paste the following code:
Run the installation script:Code:@ShutdownOnFailedCommand 1 @NoPromptForPassword 1 login anonymous force_install_dir ./hurtworld app_update 405100 validate quit
We're nearly done.Code:./steamcmd.sh +runscript install.txt
One thing you might need to do at the moment (Bug - 24.12.2015) is to copy the steamclient.so files to the right place:
After this step you should be able to start your own server.Code:# change directory to the hurtworld folder cd hurtworld # copy 64-bit steamclient.so cp ./linux64/steamclient.so ./Hurtworld_Data/Plugins/x86_64/steamclient.so # copy 32-bit steamclient.so cp ./steamclient.so ./Hurtworld_Data/Plugins/x86/steamclient.so
There are two ways in doing this:
1. (Quick&Dirty method)
Run:
2. (Nicer method)Code:# Note: Change the file extension for either 64-bit (Hurtworld.x86_64) or 32-bit (Hurtworld.x86) ./Hurtworld.x86_64 -batchmode -nographics -exec "host 12871;queryport 12881;servername PUT YOUR SERVERNAME IN HERE;maxplayers 50;addadmin YOURSTEAMID" -logfile "gamelog.txt"
Create a bash-script named 'start.sh' with which you're starting a tmux session.
(You might want to install tmux with 'yum install tmux' before running the script)
Make the script executable and run it:Code:#!/bin/bash tmux new -d -s hurtworld ' ./Hurtworld.x86_64 -batchmode \ -nographics \ -exec "host 12871;queryport 12881;servername PUT YOUR SERVERNAME IN HERE;maxplayers 50;addadmin YOURSTEAMID" \ -logfile "gamelog.txt" ' tmux detach -s hurtworld
Now your server should be up and running.Code:chmod +x start.sh ./start.sh
Your logfile can be found in '~/steamcmd/hurtworld/gamelog.txt'.
If you're having problems first take a look in that file
Code:cat gamelog.txt
Note:
If you're having trouble to reach your server, you might need to open the ports:
I hope i was able to help someone. If you're having trouble or if you have extensions for this tutorial, let me knowCode:# YOU MUST BE ROOT TO RUN THESE COMMANDS firewall-cmd --zone=public --add-port=12881/udp --permanent firewall-cmd --zone=public --add-port=12871/udp --permanent firewall-cmd --reload
PS: If there is enough demand for an Ubuntu/Debian tutorial, just contact me and i might want to update it.
So far, Merry Christmas and have fun playing hurtworld!
MrNobodyGER
Setting up Hurtworld server on CentOS
Discussion in 'Hurtworld Discussion' started by MrNobodyGER, Dec 24, 2015.
-
so, you centos vesion is ?
-
-
I know that, but I start the server, it display GLIBC2_15 not found, can you help me solve that?My system is CentOS6
-
Do you try to install it on 64 or 32-bit CentOS? Could you post the error-message?
It seems like CentOS 6 isn't really up to date in consideration of glibc..so there's not much hope :/ -
Hey gus, I run the server in the Centos7 is successed,but it have a problem,the gamelog display "SteamServerConnectFailure: k_EResultNoConnection",when I open the port, it display firewallD is not running, I guess the trouble is the firewall, but I don't know how to solve it !
-
Try running
Code:systemctl start firewalld
-
Hey guys, I just stop the firewall, and it also connecfailure, this is my gamelog, could you read it?
[DOUBLEPOST=1451052139][/DOUBLEPOST]and this is the new logAttached Files:
-
-
Ok, here are some points to consider:
1. Disable ALL firewalls on your system (iptables and firewalld - depending on what's available)
2. Did you copy the steamclient.so files in the right directory? -> Pay attention with 64 and 32 Bit
3. Try running the server in the other architecture..so if you used Hurtworld.x86_64, try running Hurtworld.x86 instead.
4. Try this: SteamCMD - Valve Developer Community
Are you running it in a home-network or did you rent a server? (In home networks, you're likely to have additional firewalls in routers etc.) -
1.I disable all the firewalls on my system
2.I'm sure I copy the steamclient.so files in the reight directory, just you say in the before
3.run the outher architecture, but it also [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
4.I can not understand how to do it, my system is not /.steam/sdk32 this directory
And I have rent a VPS, it is not the PC, my IDC said the network is OK
[DOUBLEPOST=1451055401][/DOUBLEPOST]If you have a time, can you help me? I can tell you the usernanme and password about my VPS, THX very much!!
My gmail is [email protected]
You can sent an e-mail to meLast edited by a moderator: Dec 25, 2015 -
x86_64 version `GLIBCXX_3.4.15' not found (required by ./Hurtworld.x86_64)
x86 version `GLIBC_2.15' not found (required by ./Hurtworld.x86) -
I think only x86 version be worked now . -
Code:wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz tar -xvf glibc-2.15.tar.gz tar -xvf glibc-ports-2.15.tar.gz mv glibc-ports-2.15 glibc-2.15/ports mkdir glibc-build-2.15 cd glibc-build-2.15 ../glibc-2.15/configure --prefix=/usr CC='gcc -U__i686' make make install三、start game server ./Hurtworld.x86 -batchmode -nographics -exec "host 12871;queryport 12881;servername <color=#FF0000>all of world</color> HurtWorld;addadmin steamid" -logfile "gamelog.txt"
./Hurtworld.x86: /lib/libc.so.6: version `GLIBC_2.15' not found (required by ./Hurtworld.x86)
./Hurtworld.x86: /lib/libm.so.6: version `GLIBC_2.15' not found (required by ./Hurtworld.x86)
now i don't know what i need do, i try
cp /home/steam/steamcmd/glibc-build-2.15/libc.so.6 /lib/
and have start error
./Hurtworld.x86: error while loading shared libraries: libc.so.6: wrong ELF class: ELFCLASS64 -
yum install glibc.i686 -
-
Code:
[root@CentOS-60-64-ISPLite hurtworld]# yum -y remove glibc.i686 Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package glibc.i686 0:2.12-1.166.el6_7.3 will be erased --> Processing Dependency: ld-linux.so.2 for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: ld-linux.so.2(GLIBC_2.3) for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6 for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libc.so.6 for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.0) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.0) for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.1) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.1) for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.1.3) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.1.3) for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.2) for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.3) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.3) for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.3.2) for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.3.4) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.4) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.4) for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libc.so.6(GLIBC_2.7) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libdl.so.2 for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libdl.so.2(GLIBC_2.0) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libdl.so.2(GLIBC_2.1) for package: nss-softokn-freebl-3.14.3-22.el6_6.i686 --> Processing Dependency: libm.so.6 for package: libstdc++-4.4.7-16.el6.i686 --> Processing Dependency: libm.so.6(GLIBC_2.0) for package: libstdc++-4.4.7-16.el6.i686 --> Running transaction check ---> Package libstdc++.i686 0:4.4.7-16.el6 will be erased ---> Package nss-softokn-freebl.i686 0:3.14.3-22.el6_6 will be erased --> Finished Dependency ResolutionDependencies Resolved================================================================================ Package Arch Version Repository Size ================================================================================ Removing: glibc i686 2.12-1.166.el6_7.3 @updates 13 M Removing for dependencies: libstdc++ i686 4.4.7-16.el6 @base 908 k nss-softokn-freebl i686 3.14.3-22.el6_6 @updates 381 kTransaction Summary ================================================================================ Remove 3 Package(s)Installed size: 14 M Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : libstdc++-4.4.7-16.el6.i686 1/3 Erasing : nss-softokn-freebl-3.14.3-22.el6_6.i686 2/3 Erasing : glibc-2.12-1.166.el6_7.3.i686 3/3Removed: glibc.i686 0:2.12-1.166.el6_7.3Dependency Removed: libstdc++.i686 0:4.4.7-16.el6 nss-softokn-freebl.i686 0:3.14.3-22.el6_6Complete! [root@CentOS-60-64-ISPLite hurtworld]# yum install glibc.i686 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.checkdomain.de * extras: mirror.checkdomain.de * remi: mirror5.layerjet.com * remi-safe: mirror5.layerjet.com * rpmforge: mirror1.hs-esslingen.de * updates: mirror.checkdomain.de Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package glibc.i686 0:2.12-1.166.el6_7.3 will be installed --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.166.el6_7.3.i686 --> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.166.el6_7.3.i686 --> Running transaction check ---> Package nss-softokn-freebl.x86_64 0:3.14.3-22.el6_6 will be updated ---> Package nss-softokn-freebl.i686 0:3.14.3-23.el6_7 will be installed ---> Package nss-softokn-freebl.x86_64 0:3.14.3-23.el6_7 will be an update --> Finished Dependency ResolutionDependencies Resolved================================================================================ Package Arch Version Repository Size ================================================================================ Installing: glibc i686 2.12-1.166.el6_7.3 updates 4.3 M Installing for dependencies: nss-softokn-freebl i686 3.14.3-23.el6_7 updates 157 k Updating for dependencies: nss-softokn-freebl x86_64 3.14.3-23.el6_7 updates 167 kTransaction Summary ================================================================================ Install 2 Package(s) Upgrade 1 Package(s)Total download size: 4.7 M Is this ok [y/N]:
2.12 -
you need 2.15
make;make install (glibc-2.15.tar.gz ) -
-bash: ./Hurtworld.x86: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
if yum install glibc.i686
installed 2.12 and i have
[root@CentOS-60-64-ISPLite hurtworld]# ./Hurtworld.x86 -batchmode -nographics -exec "host 12871;queryport 12881;servername PUT YOUR SERVERNAME IN HERE;maxplayers 50;addadmin YOURSTEAMID" -logfile "gamelog.txt"
./Hurtworld.x86: /lib/libc.so.6: version `GLIBC_2.15' not found (required by ./Hurtworld.x86)
./Hurtworld.x86: /lib/libm.so.6: version `GLIBC_2.15' not found (required by ./Hurtworld.x86) -
Perhaps CentOS7 is not this error