Manage Your Game Server Easy With LinuxGSM

The command line tool for quick, simple deployment and management of Linux Natural Selection dedicated game servers.

  • Getting started
Natural Selection Screenshot
game-server: ~$ ./nsserver install
Laptop

Linux

Runs on your favorite Linux distros. Ubuntu, CentOS and more.

Easy to use

Designed to be simple to install and use.

Linux

Runs on your favorite Linux distros. Ubuntu, CentOS and more.

Easy to use

Designed to be simple to install and use.

Natural Selection Screenshot
game-server: ~$ ./nsserver install
Laptop

Many Games Supported

85 game servers are supported and counting.

Open Source

Written in BASH and using the MIT License.

Many Games Supported

170 game servers are supported and counting.

Open Source

Written in BASH and using the MIT License.

Hassle Free Dedicated Servers

Hassle Free Dedicated Servers

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

Benefits

  • Easy to install
  • Simple CLI
  • Well documented
  • Automated
  • Regularly updated
  • Open source
  • Compatible

Features

  • Installer
  • Updater
  • Monitor
  • Alerts
  • Server Details
  • Backups
  • Console

Getting Started with nsserver

Below are the basic instructions you need to get your own Natural Selection server up and running.

Natural Selection Logo

Installation Guide

Don't have a server? Install nsserver on a cloud server.
Linode [recommended], Vultr, DigitalOcean, UpCloud.
Most offer free credit to get you started.

Compatibility

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

Minimum Recommended Distros

  • Ubuntu Icon Ubuntu 12.04 LTS
  • Debian Icon Debian 6
  • Fedora Icon Fedora 17
  • Centos Icon CentOS 6

Other Distros

Although not tested, any distro with tmux => 1.6 and glibc => 2.3.2 should also be compatible with Natural Selection servers.

Supported Architecture

  • 64-Bit distros ARE supported.
  • 32-Bit distros ARE supported.

Only 32-Bit binary is available.

SteamCMD

SteamCMD by Valve is used to install and update this game server.

SteamDB

Steam uses Appid 90. Find out more at SteamDB.

Dependencies

Before installing, you must ensure you have all the dependencies required to run nsserver.

Ubuntu 64-bit

Ubuntu Icon
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 libstdc++6:i386

Ubuntu 32-bit

Ubuntu Icon
 sudo apt install mailutils postfix curl wget file bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux libstdc++6

Debian 64-bit

Debian Icon
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 libstdc++6:i386

Debian 32-bit

Debian Icon
 sudo apt install mailutils postfix curl wget file bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux libstdc++6

Fedora 64-bit

Fedora Icon
dnf install mailx postfix curl wget file bzip2 gzip unzip python binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686

Fedora 32-bit

Fedora Icon
dnf install mailx postfix curl wget file bzip2 gzip unzip python binutils bc jq tmux libstdc++

EPEL is required to install some dependencies needed for using LinuxGSM on CentOS.

yum install epel-release

CentOS 64-bit

CentOS Icon
yum install mailx postfix curl wget bzip2 gzip unzip python binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686

CentOS 32-bit

CentOS Icon
yum install mailx postfix curl wget bzip2 gzip unzip python binutils bc jq tmux libstdc++

Install

From the command-line do the following. Ensuring you have also installed the dependencies above.

1. Create a user and login.
adduser nsserver

note: do NOT set the password as nsserver. Use a strong password.

random password:
passwd nsserver
su - nsserver
2. Download linuxgsm.sh.
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh nsserver
3. Run the installer and follow the instructions.
./nsserver install
Support this project on Patreon, Paypal and Flattr.
Further documentation and support is available.

Basic Usage

All Commands

A complete list of commands can be found by typing
./nsserver
Below are the most common commands available.

Running

start

./nsserver start

stop

./nsserver stop

restart

./nsserver restart

console

Console allows you to view the live console of a server as it is running and allow you to enter commands; if supported.
./nsserver console
To exit the console press CTRL+b d. Pressing CTRL+c will terminate the server.

Updating

update

Update checks for any server updates and applies them. The server will update and restart only if required.
./nsserver update
Bypass the check and go straight to SteamCMD update.
./nsserver force-update

validate

You can use the SteamCMD validate option when updating the server.
./nsserver validate

Debugging

Details

You can get all important and useful details about the server such as passwords, ports, config files etc.

./nsserver details

Debug

Use debug mode to help you if you are having issues with the server. Debug allows you to see the output of the server directly to your terminal allowing you to diagnose any problems the server might be having.

./nsserver debug

Logs

Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server.

/home/nsserver/logs

Backup

Backup will allow you to create a complete bzip2 archive of the whole server.

./nsserver backup

Monitor

LinuxGSM can monitor the game server by checking that the proccess is running and querying it. Should the server go offline LinuxGSM can restart the server and send you an alert. You can use cronjobs to setup monitoring.

./nsserver monitor

Configure LinuxGSM

For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.

Documentation

For detailed documentation visit the LinuxGSM docs.

Support

Google

Its always a good idea to use Google before posting your questions. Many questions people ask have been asked before. So to save time always use google before posting a question. google.com

Documentation

install

Docs

The LinuxGSM docs are a useful resource for all LinuxGSM related topics.

General Support

steamcmd

Steam Group

LinuxGSM has a Steam Group where you can get general support for LinuxGSM related stuff.

Bugs/Features

github

GitHub Issues

LinuxGSM has a GitHub Issues page where you can submit any bugs and feature suggestions.

Community

Discord

Join the LinuxGSM Discord community server. Discuss your LinuxGSM setup, get help and advice.