Programming Language
Last updated
Last updated
LinuxGSM is written in Bourne-Again Shell (BASH) Script sometimes just known as Shell Script.
BASH is a "Unix shell": a command-line interface for interacting with the operating system. It is widely available, being the default shell on many GNU/Linux distributions and Mac OSX, with ports existing for many other systems.
"In addition to the interactive mode, where the user types one command at a time, with immediate execution and feedback, Bash (like many other shells) also has the ability to run an entire script of commands, known as a "Bash shell script" (or "Bash script" or "shell script" or just "script"). A script might contain just a very simple list of commands — or even just a single command — or it might contain functions, loops, conditional constructs, and all the other hallmarks of imperative programming. In effect, a Bash shell script is a computer program written in the Bash programming language." - Bash Shell Scripting
BASH script is often used by Linux System Administrators to automate repetitive tasks on Linux servers and is often used in the same way Windows Admins use BATCH Script or Powershell on Windows. BASH is available on all Linux systems, it is very stable and reliable and most people who interact with Linux will have had some exposure to it.
LinuxGSM started as a simple BASH script to easily control and manage a game server (Killing Floor). As Daniel Gibbs (lead developer) was a Linux Systems Administrator at the time and other examples of managing game servers often used BASH it simply made sense to use it.
LinuxGSM has evolved and grown drastically over time to add more commands and features from the early days, however, it essentially still does the same thing just on a larger scale. BASH is a relatively simple language to use and learn, does not require compiling, and can be written in any basic text editor.
There are loads of resources to help you learn BASH and below are a few. If you get stuck it is already recommended that you Google as there is probably a Stackoverflow question raised.