Giter Club home page Giter Club logo

linuxgsm's Introduction

LinuxGSM Codacy grade GitHub Workflow Status Discord SteamCMD MIT License

LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.

Hassle-Free Dedicated Game Servers

Traditionally game servers are not easy to manage yourself. Admins often have to spend hours messing around trying to get their servers working. LinuxGSM is a command-line tool designed to be as simple as possible, allowing admins to spend less time on management and more time gaming.

Main features

100+ game servers supported

  • 🚚 Installer
  • πŸ” Monitor
  • ☎️ Alerts
  • ☁️ Updater
  • πŸ“˜ Server Details
  • πŸ’Ύ Backup
  • πŸ’» Console

🐧 Compatibility

LinuxGSM will run on popular distros as long as the minimum requirements are met.

  • Ubuntu
  • Debian
  • CentOS

Other distros are likely to work but are not fully tested.

πŸ”§ Requirements

Each game server has specific dependency requirements. Visit a specific game server installation page on the LinuxGSM website to check dependency requirements for the game server you want to install.

πŸ“˜ Documentation

Documentation is found at linuxgsm.com and docs.linuxgsm.com.

❓ Support

There are various ways to get support, check out the support page for the right support.

❀️ Sponsor

If you would like to sponsor to the project there are several ways you can, via GitHub Sponsors and PayPal. I would like to thank everyone who sponsors me. Since 2012 LinuxGSM has been steadily growing with new servers, features, and improvements added regularly.

πŸ§™β€β™‚οΈ Contributors

A big thank you goes to all the wonderful people who contribute ideas, code, docs, and support to this project.

linuxgsm's People

Contributors

1f33lr41n avatar aikidoka avatar alasdairhaig avatar allcontributors[bot] avatar bara avatar borzaka avatar bourne-id avatar braunsonm avatar cedarlug avatar claiyc avatar dependabot[bot] avatar dgibbs64 avatar drantor avatar flieswithwind avatar frisasky avatar ghoulofgsg9 avatar grimston avatar h3o66 avatar hurdad avatar ilijamt avatar johnoclockdk avatar jusito avatar marcin648 avatar marvinlehmann avatar philphonic avatar poil avatar scarsz avatar singingtree avatar technz avatar ultimatebyte avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linuxgsm's Issues

Need to check Unreal 2004/Killing Floor if changing the CharSet is still required

Found an update to the original forum post:

http://forums.tripwireinteractive.com/showthread.php?p=442340#post442340

Stating that the CharSet no longer needs to be set as utf-8.

The original issue with having the CharSet as iso-8859-1 was that when setting the servers name on the web interface any spaces would instead show up at ?

I will need to test this with UT2004 and Killing Floor.. If this is no longer required I will remove the fix from the installer

replacing grep ${servicename} with grep -E "^${servicename}:"

I have found that running multiple instances of a server on the same user didnt quite work with grep ${servicename}. Example of issue was kfserver is like kf-server-objective and woudl pick up both servers. instead grep -E "^${servicename}:" would pickup only the specific server and stop the risk of picking up both.

Log file isn't up to date all the time

Hello,

I have recognized that sometimes the logfile isn't up to date.
This often occurs when I restart my server.

I open the logfile and see that the last line only contains the half. When I open the server in console mode and press enter the missing part is shown in the console and appears in the console.
I think it is an issue related to tmux.

UT2k4 BUG

Hi! When I try to start UT2k4 server in debugging mode, it shows:

./ucc-bin: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

Please help me fix it up. I'm using CentOS 6.4 x86-64

Access to the Console?

It is possible to get access to the server admin console, so that you could change maps without being in the game?

That could be cool!

Thanks for the awesome work anyways!

CS:GO Issues

Start variables are incorrect for game_mode and game_type.

# [Game Modes]           game_mode    game_type
# Classic Casual               0            0
# Classic Competitive        0            1
# Arms Race                    1            0
# Demolition                     1            1

Should be:

# [Game Modes]           game_type    game_mode
# Classic Casual               0            0
# Classic Competitive        0            1
# Arms Race                    1            0
# Demolition                     1            1
# Deathmatch                   1            2

Also, duplication issue:

defaultmap="de_dust"
mapgroup="random_classic"
maxplayers="16"
defaultmap="de_dust2"
mapgroup="random_classic"

Another issue:
maxplayers is inadequate or useless, replace back to maxplayers_override, maxplayers is overridden by gamemodes.txt.

Additions:
Add tickrate:

tickrate="128"
parameter: -tickrate ${tickrate}

Additions:
Add in host_workshop parameters or example parameter for future use.
Example:

normal

parms="-game csgo -usercon -tickrate ${tickrate} +map ${defaultmap} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -maxplayers_override ${maxplayers} "

workshop

parms="-game csgo -usercon -tickrate ${tickrate} +map ${defaultmap} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -maxplayers_override ${maxplayers} +host_workshop_collection ${wh_collection_id} +workshop_start_map ${wh_start_map} -authkey ${authkey}"

I will create a fork of this soon with examples of more additions that should be made.

duplicate code in fn_console

Duplicate code in case.

fn_console(){
fn_rootcheck
fn_syscheck
echo ""
echo "${gamename} Console"
echo "============================"
echo ""
echo "Press \"CTRL+b d\" to exit console"
echo -e "\e[0;31mWARNING!\e[0;39m Do NOT press CTRL+c to exit"
echo ""
while true; do
        read -p "Continue? [y/N]" yn
        case $yn in
        [Yy]\* ) break;;
        [Nn]\* ) echo Exiting; return 1 ;;
        [Nn]\* ) echo Exiting; return 1 ;;
        \* ) echo "Please answer yes or no.";;
esac
done

ns2server steamclient.so fix

Error on install. steamclient.so fix may not be needed for this server

Applying steamclient.so fix
mkdir: created directory /home/ns2server/.steam' mkdir: created directory/home/ns2server/.steam/sdk32'
cp: cannot stat `/home/ns2server/serverfiles/bin/steamclient.so': No such file or directory

Mutators don't persist between map changes

I have 4 white listed mutators:

AntiBlocker 1.1
Country Tags
Damagepopup
Patriarch HP Left

I've tried adding them to the kf-server.ini and also setting them from the web admin interface, and they don't persist between map changes. Not sure if this is a problem with the web interface or something with the config. I've tried hitting the restart level link and also restarting the server from the command line after changing things, but the mutators get cleared.

thserver fn_hldsdl

Need to remove this code from the following function as not needed.

fn_hldsdl(){

   tar --verbose -zxf steamcmd_linux.tar.gz
    rm -v steamcmd_linux.tar.gz

l4d2server install on x64

on a fresh Ubuntu 13.10 x64 with the user lfd2
edit: I think a paste or a gist will be better.
https://gist.github.com/Estevo-Aleixo/028f8acfa96053271dbb
Is the problem on my end? Has Steam updated their steam.sh script to become incompatible?

l4d2@d2:~$ du -a
4 ./.profile
4 ./.bash_logout
4 ./serverfiles
4 ./.bashrc
16 ./steamcmd/steam.sh
4 ./steamcmd/steamcmd.sh
3720 ./steamcmd/linux32/libstdc++.so.6
5512 ./steamcmd/linux32/steamcmd
9236 ./steamcmd/linux32
9260 ./steamcmd
20 ./l4d2server
9300 .

l4d2@d2:~$ ls -l steamcmd/linux32/steamcmd
-rwxrw-r-- 1 l4d2 l4d2 5642610 Feb 5 2013 steamcmd/linux32/steamcmd

kfserver investigate ln message issue

Creating log directorys

mkdir: created directory /home/kfserver/log/script' mkdir: created directory/home/kfserver/log/console'
ln: creating symbolic link /home/kfserver/log/server' ->': No such file or directory

Left4Dead2 Issue

Not Working :)
./l4d2server: line 210: syntax error near unexpected token fi' ./l4d2server: line 210:fi'

Backup Feature

New Backup Feature just added to the scripts allowing to create an archive of the server before making changes to it

NMRiH Server Install

Top work on the script, I'm assuming it's still being tested but just wanted to point this out:

Creating server.cfg
touch: cannot touch `/home/nmrih2/nmrih_ds/tf/cfg/server.cfg': No such file or directory
./nmrih-server: line 563: /home/nmrih2/nmrih_ds/tf/cfg/server.cfg: No such file or directory

The "tf" sub-directory appears to be superfluous.

Dependency Confusion

Newer versions of Ubuntu and Debian have some dependency changes.

I will be re testing various distros and creating a separate change with my finds on it allowing for me to easily update these

NAT issues, processor affinity, ionice & fifo with high priority

Hi,

I've just ventured into the world of linux for game server hosting and found your script very useful. I hope this might be the right forum to submit my text, if not, please advise.

I would like to list some of the issues I had and perhaps it might:

  • help others
  • provide ideas for things that could possibly be included in your script
  • provide confirmation on some assumptions I made

I've tried CentOS 6.4 minimal OS & Ubuntu.

Architecture: 2x L5520 with 36GB memory. I'm running hyper-v (1 router, 2 webservers & a gameserver)

I initially had a lot of issues with:

  • tmux for console access
  • iptables
  • private/public ip for lobby connections
  • optimizations such as RTKernels / process boost

First issue: port forwarding on vyatta (http://docs.vyatta.com/6.6/Quick%20Start/Welcome.1.1.html). no matter what I tried, I could not connect to the CentOS game server, I verified that my NAT port forwarding rules were configured correctly by setting up the Ubuntu server, which worked but had very unstable fps.

Second issue: tmux didn't work at all, I ended up recompiling tmux after which things started working: http://blog.assarbad.net/20130116/tmux-is-great-but-how-to-build-on-lucid-lynx/

Third issue: iptables, I finally figured out the iptables were the reason I couldn't connect and this solved my issue: https://forums.alliedmods.net/showthread.php?t=165560

Fourth issue: console: connext worked, but joining via the community browser didn't. I solved this by adding -ip & +net_public_adr to the command line parameters

performance - I was really concerned about the performance as it was horrible under ubuntu. However, I read up on RT Kernels, I figured out CentOS 6.4 comes compiled with 1000 HZ config, but NOHZ=on. I added the NOHZ=off option to the grub boot.config, although that hardly changed anything.

Now I have just finished the script to boost the srcds_linux process. I will paste the script below - please advise if what I'm doing makes sense or not. the only thing left for me to do is set up the cron jobs, but seems crontab is no longer used in CentOS 6+ and I wonder if it is better to install crontab or work with the newer tools?

srcds_boost script for vanila CentOS 6.4:
https://gist.github.com/so0k/7446931

fn_syscheck try to merge

Creating a sysemdir variable on all scripts will make is easier to standardize all scripts making merging easier

Installation fails due to wrong Steam script used

Hi,

the installation of CS:GO failed for me using the original installer, because the script failed to login to the Steam network. After modifying the installer in line 538 from

STEAMEXE=steamcmd ./steam.sh +runscript install.txt

to

STEAMEXE=steamcmd ./steamcmd.sh +runscript install.txt

the login was successful, and the app was downloaded and install successfully.

I'm using Ubuntu 12.04 LTS, if that matters.

Greetings

jdno

ifconfig command not found

Some distros do not allow standard users access to ifconfig command. A workaround for this will be needed

CounterStrike (1.6) install bug

i know there is a bug with SteamCMD using appid 90, but i have tryed for 45 mins now, can get it to install the files

ubuntu server 12.04
csserver Version: 101113

sorenwp

issue with tmux : Operation not permitted

I try to start the server and i get this error:

create session failed: ./ucc-bin server KF-BioticsLab.rom?game=KFmod.KFGameType?VACSecured=true -nohomedir ini=kf-server.ini log= |tee -a /home/kfserver/log/console/kf-server-console.log: Operation not permitted

Do you know where it can be from?

Server Query: Improved Monitoring

A Feature in development currently is a server query tool written in Python to query servers and see if they respond. If a server fails to respond the server is rebooted. This will stop the issue of servers crashing but the process not stopping.

This will be rolled out as and when servers can be supported

A basic version called serverquery.py works for CS 1.6 servers only.

ts3server: The monitor service does not recognize the server running.

Florian Henze says:
November 15, 2013 at 12:53 am (Edit)
The script is really great for an easy-to-go server. But I faced two issues.

  1. The renaming of the folder is written as β€œts3β€³ on the website, within the script it is required to have β€œserverfiles”.
  2. The monitor service does not recognize the server running. As markezzz said in the comment before. The two lines in the script asking for ts3status are
    237 ts3status=${filesdir}/ts3server_startscript.sh status inifile=${ini}
    264 ts3status=${filesdir}/ts3server_startscript.sh status inifile=${ini} > /dev/null 2>&1

Replace line 264 with the same content of 237 or just remove ” > /dev/null 2>&1β€³ in the end and it will work.

Maybe a leftover from a debug session?

markezzz says:
November 4, 2013 at 3:51 pm (Edit)
Hello Daniel,
I started my ts3-server with the ts3server-script. Than i wanted to test the monitor-function from the script.
I get all time this error:

ts3server@GPR0067:~$ ./ts3server start
[ OK ] Starting ts3-server: Teamspeak 3 Server

ts3server@GPR0067:~$ ./ts3server monitor
[ WARN ] ts3-server: Monitor detected Teamspeak 3 Server had stopped!
[ INFO ] ts3-server: Teamspeak 3 Server Unknown error

[ OK ] Stopping ts3-server: Teamspeak 3 Server
[ OK ] Starting ts3-server: Teamspeak 3 Server

But i have started the server and it show all time the ts3-server has stopped.

What is my failure on this step?

l4d2-server restart during loading map

Hi,

yesterday i was playing on ty l4d2 Server and after loading a map it crashed.

Failure reason: Failed to query l4d2-server: ERROR: Unable to receive Action Taken: restarted l4d2-server

This was the second time this happend after loading a map, do you think it is possible that your script restarts the server while it is loading a new map?

Than you

Reduce merging problems

Since there are quite a few game servers now I have to do LOTS of tedious merging to make sure they are up to date. I will be working on moving as many variables to the top of the script as possible to reduce the chance of me merging the wrong code and speed up this process.

l4d2 exclusive to steamgroup

http://left4dead-info.blogspot.com/2008/12/steam-group-server-settings.html

sv_allow_lobby_connect_only 0
sv_steamgroup ######
sv_steamgroup_exclusive 1

Also the steamgroup id can be found by http://api.steampowered.com/ISteamUser/GetUserGroupList/v0001/?key={steamapikey}&steamid={userid}

where userid is the last part of http://steamcommunity.com/profiles/{lots-o-numbers}

There are multiple possible groups a user can be in, I am unsure how to get the name/string of them as of yet.

No such file or directory csserver

Creating server.cfg

touch: cannot touch `/home/csserver/serverfiles/cstrike/cfg/server.cfg': No such                              file or directory
./csserver: line 574: /home/csserver/serverfiles/cstrike/cfg/server.cfg: No such                              file or directory

Creating default config file:

Backup Feature

Planning to add a basic backup feature to tar.gz the whole server in to a directory. Allowing server admins to backup there files before making any changes to there server. This would be great for quick backups but not as a full backup solution. For that some sort of rsync solution would be reccomeneded.

change the .cfg file name

Several people have advised a security issue with using server.cfg and wanted an option to use a different server.cfg name

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.