GameServerManagers / LinuxGSM

The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
https://linuxgsm.com
MIT License
4.25k stars 813 forks source link

[Compatibility Checks] Submit Distro Checks #157

Closed dgibbs64 closed 9 years ago

dgibbs64 commented 10 years ago

Want to help with the LGSM project?

Simply install and confirm that a game server works with a your Distro.

There are around 25 different game servers supported and has now become impossible for me to test on all distros and versions.

If you have run a game server on a distro that has not been tested let me know the results. I will add it to a spreadsheet for all to see so we know that the server does work with a particular distro. Making it easy to know what works and what does not.

Currently I have Ubuntu, Debian and CentOS on the spreadsheet. However if you have another distro you use I am happy to add it on if the results are provided.

Below is a spreadsheet of all results and when it was tested.

http://danielgibbs.co.uk/lgsm-compatabillity

Submit your results below using the template and I will update the spreadsheet.

Server Name: Pass/Fail: Distro: Version: Architecture: Dependencies: Extra Notes:

Further notes: I normaly check dependencies myself. However if there is something missing please add details.

SteamCMD is only compatible with systems that support 32-Bit architecture.

ghost commented 10 years ago

I just used clean VM from here: http://virtualboxes.org/images/ubuntu-server/ Server Name:Garysmod Pass/Fail:Fail Distro:Ubuntu Version:14.04 Architecture:64 Server Name:Garysmod Dependencies:Followed your guidlines Extra Notes:

[ OK ] Stopping gmod-server: gmod_virt [ OK ] Starting debug mode gmod-server: gmod_virt Auto detecting CPU Using default binary: ./srcds_linux Enabling debug mode Server will auto-restart if there is a crash. Segmentation fault (core dumped)

warning: Expected absolute pathname for libpthread in the inferior, but got bin/libpthread.so.0.

warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.

warning: Expected absolute pathname for libpthread in the inferior, but got bin/libpthread.so.0.

warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available. debug.cmds:5: Error in sourced command file: No function contains program counter for selected frame. email debug.log to linux@valvesoftware.com Thu Sep 4 00:28:59 CEST 2014: Server restart in 10 seconds Segmentation fault (core dumped)

Scarsz commented 10 years ago

I have downloaded all the installation ISOs fans will be testing out all of them in VirtualBox later today, host system Ubuntu 14.04 kernel 3.13.0-35.

ghost commented 10 years ago

Any luck with getting soething to work ?

dgibbs64 commented 10 years ago

@pieton if your talking about Garry's Mod. It seems to have a few issues with newer distros currently. I want to gather as much info on what works and doesn't for gmod and submit detailed info on the issues directly to facepunch. I will also be looking at if the scripts need any updates as well

dgibbs64 commented 10 years ago

ARMA 3 Currently requires dependency confirmation. @Scarsz when you can please could you provide the required dependencies and add them to the spreadsheet. I tested arma3server and it worked first time. wooo!!! :dancers:

Scarsz commented 10 years ago

@dgibbs64 It likely requires glibc version 2.15+ which I don't believe is currently in the script, that along with the mail dependencies should be all that's needed.

dgibbs64 commented 10 years ago

@Scarsz Thats probably right. Will need to get tests completed to I know the instructions are accurate.

ragnos commented 10 years ago

Server Name: Unreal Tournament 99 Pass/Fail: Pass Distro: Debian Version: 7.6.0 Architecture: x64 Dependencies: bzip2 unzip tmux ca-certificates mailutils postfix lib32gcc1 libstdc++5:i386 Extra Notes: libstdc++5:i386 is missing on the page. It's mentioned on your page for UT2004, that's how i found out.

Sidenote: Got some non-critical issue with the script during start: ./ut99server: line 543: ${lockselfname}: ambiguous redirect

Tested with multiple machines, all latest debian 7 x64. Default Shell is /bin/bash which is actually bash and not dash or smth. like that.

dgibbs64 commented 10 years ago

@ragnos I just tested this myself as I thought libstdc++5:i386 is not required. I did a fresh install of Debian 7.6 only installed the following. apt-get install bzip2 unzip tmux ca-certificates mailutils postfix lib32gcc1 and the server ran without issues. I will however add a Pass for this on the spreadsheet. Thanks for the results.

Scarsz commented 10 years ago

So I'll actually be testing this out today. Instead of having the servers download the whole folder for the game again, I'm going to have it downloaded once and have it download that locally to save bandwidth. Any complications in this or should it be good? @dgibbs64

dgibbs64 commented 10 years ago

No there should be no complications. I personally have a repository of all the server files on my web server for quick deployment to my test VPS's (still testing the script).

ghost commented 9 years ago

Server Name: L4D2 Pass/Fail: Pass Distro: Gentoo Version: Rolling Release (Dec 8 2014 build) Architecture: x86 (32bits) Dependencies: gdb mailutils postfix iproute2 Extra Notes:

On QEMU/KVM VM. I installed the x86 because i didn't want any kind of problems with multilib and also not to need to compile both 32 and 64 bits libs which would cost time and space on the VM, wanted it as small as possible. I am installing some other game servers using 32 bits libraries. As it is Gentoo, libstdc++ and gcc are already there and there was no runtime issues at all.

I ran into a very small issue while starting it, as i didn't have iproute2, the distro is using the old ifconfig only by default, it didn't prevent the game from starting and binding to the IP though, but i still installed it. The error involved lines 10 and 11 of /functions/fn_autoip.

Oh and i had to resume the download quite a lot of times, but as i seen, it is a SteamCMD bug. It would be nice if the script could recognize the state 0x402 and try resuming by itself a few times, also detect if is a Success or not. A way i see you could do it is by piping the the SteamCMD stdout into a tmp file and reading the status there. I would do it myself with a pull request, but honestly i have way too many projects on my hands at the moment.

Thank you for your good work @dgibbs64.

Scarsz commented 9 years ago

About your concern about 0x402 and automatically retrying, I might work on an update for that today.

Xylemon commented 9 years ago

Server Name: Killing Floor and Team Fortress Classic Pass/Fail: Pass (with problems) Distro: Slackware Version: 14.1 with Current packages Architecture: 64 bit Dependencies: postfix (missing more, see Extra Notes) Extra Notes:

I'm assuming I'm missing some dependencies but I'm not sure which. I know mailutils is a one of them, however it was being a pain and not compiling. Sadly there doesn't seem to be any slackbuilds around to help the process, except for this one I found from "gnu.org.ua". I'll have to validate it later before recommending it to anyone. I'm pretty sure though this is why despite it saying "[ INFO ] Sent email notification to " I don't get an email at all.

While these scripts work very well, I still have some problems and odd errors that don't seem to do anything? For instance, I see this error messages like this when starting the server:

Killing Floor:

/functions/fn_autoip: line 10: ip: command not found
/functions/fn_autoip: line 11: ip: command not found

Team Fortress Classic:

./tfcserver.sh: line 142: ip: command not found
./tfcserver.sh: line 143: ip: command not found

Console logging is completely broken despite tmux 1.8 coming installed by default (reported in issue #218)

The python Game Query function is also broken, thinking that my server is down and restarts it (which is NOT good!)

What happens with Team Fortress Classic:

bash $ tfcserver monitor
./tfcserver.sh: line 142: ip: command not found
./tfcserver.sh: line 143: ip: command not found
[  OK  ] Monitoring tfc-server: Checking session: OK
[ FAIL ] Monitoring tfc-server: Querying port: :27045: ERROR: No port supplied.
[ FAIL ] Monitoring tfc-server: Querying port: :27045: ERROR: No port supplied.
tail: cannot open '<path to>/log/console/tfc-server-console.log' for reading: No such file or directory
[ INFO ] Sent email notification to <email here>
[  OK  ] Stopping tfc-server: Chuck Bronson's Prestige and Well-Mannered Debate Lounge [BETA]
./tfcserver.sh: line 142: ip: command not found
./tfcserver.sh: line 143: ip: command not found
[  OK  ] Starting tfc-server: Chuck Bronson's Prestige and Well-Mannered Debate Lounge [BETA]

Slackware comes with Python 2.7.5 by default, so I don't think that's the issue there.

So there's my situation with Slackware and these scripts. I love them, but I hope I can get the quirks fixed!

Xylemon commented 9 years ago

Also found something else I forgot to post about. Monitoring a server on Killing Floor doesn't have the same result as it does with TFC, rather it does this:

/<path to>/kf/functions/fn_serverquery: line 12: 7707
iURL80 + 1: syntax error in expression (error token is "iURL80 + 1")

Note sure what's going on here.

Xylemon commented 9 years ago

So status update regarding Slackware, the Game Query problem is fixed with TFC and is about to be fixed with Unreal. The missing ip command problem was solved.

The issues that do remain are the console logging:

It seems to be creating logs, at least for the console. The "server" subfolder was a symlink pointing to my previous server location for some reason. So I just created a real server folder which got rid of the missing "server" folder error. When doing email-test it gives the error, "tail: cannot open '/log/console/tfc-server-console.log' for reading: No such file or directory", not sure why this happens because it seems to be making empty server console logs.

And email-test:

I tried out the mailutils slackbuild and it doesn't seem email-test is working still. Claims it sends a message but I'm not getting anything. Any other dependencies I might need?

BlueToxic commented 9 years ago

Server Name: Counter-Strike: Global Offensive Pass/Fail: Pass Distro: Amazon Linux AMI Version: 2014.09.1 (http://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/) Architecture: x64 Dependencies: As the guide + libgcc48.i686 Extra Notes:

I got the following error when trying to install the server using only the dependencies in the guide:

error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory

After some searching I found out that I was missing the package libgcc48.i686. After installing that package the installation went through without errors. This package depends on glibc.i686 so using yum install tmux gdb mailx postfix libgcc48.i686 is enough.

I guess it didn't automatically install libgcc48.i686 because glibc.i686 has several providers for libgcc (see below) and libgcc48.x86_64 was already installed. From glibc.i686's deplist:

  dependency: libgcc
   provider: libgcc48.x86_64 4.8.2-16.2.99.amzn1
   provider: libgcc48.i686 4.8.2-16.2.99.amzn1
   provider: libgcc44.x86_64 4.4.6-4.81.amzn1
   provider: libgcc44.i686 4.4.6-4.81.amzn1

Not sure if it's something unique for Amazons distro but looks like they added the version number in the package name so "48" will probably be another number if the package is upgraded.

lock[bot] commented 6 years ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.