[GH-ISSUE #814] JimTR Web Interface #654

Closed
opened 2026-02-27 02:02:54 +03:00 by kerem · 37 comments
Owner

Originally created by @JimTR on GitHub (May 14, 2016).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/814

Originally assigned to: @dgibbs64 on GitHub.

Currently The Code I have written has the following features -

  1. Allows Game control from either a local host or a remote host , the remote option does require a valid unix user on the remote machine & this user name & password is passed to the remote server to ensure the permissions are correct.
  2. HTML is created via a template engine I coded for another project, which ensures that php code is not allowed in the html file, all results from PHP are fed into the html using variables before PHP renders the completed file, from this a subset of files can be added to the main html file meaning jscript etc. can be added before the browser loads the file so the included are all in-line rather than being loaded from a resource as the browser renders the page.

Requirements from lgsm is to remove the ansi codes from its displays as the web interface currently uses the PHP exec function to get the data back from lsgm example -
exec($path."gmodserver start",$output1)
where the $path variable has been setup up earlier ( point 1) and lgsm's responses, in this example, are stored in the variable $output1 ... $output1 then has to be sanitized of ansi ( as css will style the responses back from lgsm). I guess a variable in the lgsm script could be set to stop ansi codes being sent maybe gui = 1 or 0 depending if ansi is required or not. apart from that I guess everything will work fine .... I'll let you know if I hit other points.
Currently there is No Git for this project but I will drop a link here when I have the structure of the git done

Originally created by @JimTR on GitHub (May 14, 2016). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/814 Originally assigned to: @dgibbs64 on GitHub. Currently The Code I have written has the following features - 1. Allows Game control from either a local host or a remote host , the remote option does require a valid unix user on the remote machine & this user name & password is passed to the remote server to ensure the permissions are correct. 2. HTML is created via a template engine I coded for another project, which ensures that php code is not allowed in the html file, all results from PHP are fed into the html using variables before PHP renders the completed file, from this a subset of files can be added to the main html file meaning jscript etc. can be added before the browser loads the file so the included are all in-line rather than being loaded from a resource as the browser renders the page. Requirements from lgsm is to remove the ansi codes from its displays as the web interface currently uses the PHP exec function to get the data back from lsgm example - `exec($path."gmodserver start",$output1)` where the $path variable has been setup up earlier ( point 1) and lgsm's responses, in this example, are stored in the variable $output1 ... $output1 then has to be sanitized of ansi ( as css will style the responses back from lgsm). I guess a variable in the lgsm script could be set to stop ansi codes being sent maybe gui = 1 or 0 depending if ansi is required or not. apart from that I guess everything will work fine .... I'll let you know if I hit other points. Currently there is No Git for this project but I will drop a link here when I have the structure of the git done
kerem closed this issue 2026-02-27 02:02:54 +03:00
Author
Owner

@dgibbs64 commented on GitHub (May 14, 2016):

Hmmm not sure the best way to go about striping/adding the ansi code in the correct places since they are pretty much just part of the echo commands. Having to separate messages its inefficient so my guess is teh best way to go about it is to somehow insert the ansi by default and have an option to disable it. I don't really want to loose the pretty command line colours haha. I will have a good think about this. Suggestions welcome

Also do you have a screenshot I would like to see what it looks like :)

<!-- gh-comment-id:219253890 --> @dgibbs64 commented on GitHub (May 14, 2016): Hmmm not sure the best way to go about striping/adding the ansi code in the correct places since they are pretty much just part of the echo commands. Having to separate messages its inefficient so my guess is teh best way to go about it is to somehow insert the ansi by default and have an option to disable it. I don't really want to loose the pretty command line colours haha. I will have a good think about this. Suggestions welcome Also do you have a screenshot I would like to see what it looks like :)
Author
Owner

@AlexCS1337 commented on GitHub (May 15, 2016):

Interesting!

<!-- gh-comment-id:219260968 --> @AlexCS1337 commented on GitHub (May 15, 2016): Interesting!
Author
Owner

@JimTR commented on GitHub (May 15, 2016):

How the panel will look like is up to you, So I could send you a screen shot of how I see it & within 10 mins someone else could alter the css and or HTML to look totally different, however I will up load a screen shot of how I set the html ... example of the way a html file is coded is
`


Your Resource

Game Ports
#ownedports#
Game Slots
#ownedslots#
Disk Space
#total#




Used Resource

Allocated Ports
#usedports#/#ownedports#
Allocated Slots
Slots In Use
#total_players#
`

from this you can see the responses from lsgm are injected into the html before it is rendered so contains the total number of players on the server ... bad example really as this value is returned from the gameQ class and not lsgm... if you want I'll throw up a game server & an example of how I think the html should look ... I'll post back when the demo is running

<!-- gh-comment-id:219287213 --> @JimTR commented on GitHub (May 15, 2016): How the panel will look like is up to you, So I could send you a screen shot of how I see it & within 10 mins someone else could alter the css and or HTML to look totally different, however I will up load a screen shot of how I set the html ... example of the way a html file is coded is `<div style="float:right;margin-right:0%;padding:1%;min-width:20%;max-width:20%;" class="panel"> <span style="width:100%;font-weight:bold;"><center>Your Resource</center></span> <div style="width:50%;float:left;">Game Ports</div><div style="float:left;font-weight:bold;"> #ownedports#</div> <div style="width:50%;float:left;">Game Slots</div><div style="float:left;font-weight:bold;"> #ownedslots#</div> <div style="width:50%;float:left;">Disk Space</div><div style="float:left;font-weight:bold;"> #total#</div> <br style="clear:both;"><hr> <span style="width:100%;font-weight:bold;"><center>Used Resource</center></span> <div style="width:50%;float:left;">Allocated Ports</div><div style="float:left;font-weight:bold;">#usedports#/#ownedports#</div> <div style="width:50%;float:left;">Allocated Slots</div> <div style="float:left;font-weight:bold;"><!--#usedslots#--></div> <div style="width:50%;float:left;">Slots In Use</div><div style="float:left;font-weight:bold;"> #total_players#</div>` from this you can see the responses from lsgm are injected into the html before it is rendered so **<!--#total_players#-->** contains the total number of players on the server ... bad example really as this value is returned from the gameQ class and not lsgm... if you want I'll throw up a game server & an example of how I think the html should look ... I'll post back when the demo is running
Author
Owner

@UltimateByte commented on GitHub (May 15, 2016):

So if i'm getting it, you need a single user for all servers in order for it to work ?
And the PHP/Web server has to be on the same machine as the "game" server ? Or can it be another machine, or even a slave, and a master ?

An amazing thing would be to have some kind of an admin interface to manage users and give them permissions to control some servers only (using a database for example). That way, you could allow a given admin to view some server status, start/stop/restart it, but not wipe/reinstall or port change.

Game query is a good example actually, we talked about it at some point. It's really something to add to LGSM that would allow nice features.(like saving CPU by rebooting a server if 0 players are connected, but CPU usage is > 50%). I'll open an issue after the next major update. :)

<!-- gh-comment-id:219288236 --> @UltimateByte commented on GitHub (May 15, 2016): So if i'm getting it, you need a single user for all servers in order for it to work ? And the PHP/Web server has to be on the same machine as the "game" server ? Or can it be another machine, or even a slave, and a master ? An amazing thing would be to have some kind of an admin interface to manage users and give them permissions to control some servers only (using a database for example). That way, you could allow a given admin to view some server status, start/stop/restart it, but not wipe/reinstall or port change. Game query is a good example actually, we talked about it at some point. It's really something to add to LGSM that would allow nice features.(like saving CPU by rebooting a server if 0 players are connected, but CPU usage is > 50%). I'll open an issue after the next major update. :)
Author
Owner

@JimTR commented on GitHub (May 15, 2016):

you can have a remote game server to the web server ... a simple method is to have both on the same server but the demo I am putting up at the moment will show the web interface on one server & the game running on another

<!-- gh-comment-id:219288464 --> @JimTR commented on GitHub (May 15, 2016): you can have a remote game server to the web server ... a simple method is to have both on the same server but the demo I am putting up at the moment will show the web interface on one server & the game running on another
Author
Owner

@UltimateByte commented on GitHub (May 15, 2016):

So it's a master/slave system, but they can also be both on the same machine. Perfect :)
Security will have to rock on this though.
But all servers have to be on the same user, right ?

<!-- gh-comment-id:219288736 --> @UltimateByte commented on GitHub (May 15, 2016): So it's a master/slave system, but they can also be both on the same machine. Perfect :) Security will have to rock on this though. But all servers have to be on the same user, right ?
Author
Owner

@JHulsmans commented on GitHub (May 15, 2016):

I think it's best to differentiate between LSGM for personal use and LSGM for use with multiple servers and multiple different users. With the lather it'd be best to have each server run on a different user.

I don't think there's much overhead for having different users per server anyway so it might be best practice to always do this.

<!-- gh-comment-id:219289861 --> @JHulsmans commented on GitHub (May 15, 2016): I think it's best to differentiate between LSGM for personal use and LSGM for use with multiple servers and multiple different users. With the lather it'd be best to have each server run on a different user. I don't think there's much overhead for having different users per server anyway so it might be best practice to always do this.
Author
Owner

@JimTR commented on GitHub (May 15, 2016):

That is exactly how the remote setup works

<!-- gh-comment-id:219290021 --> @JimTR commented on GitHub (May 15, 2016): That is exactly how the remote setup works
Author
Owner

@UltimateByte commented on GitHub (May 15, 2016):

So PHP is able to run commands as a user onto the slave as long as it has its IDs. Couldn't dream better. :)

<!-- gh-comment-id:219290244 --> @UltimateByte commented on GitHub (May 15, 2016): So PHP is able to run commands as a user onto the slave as long as it has its IDs. Couldn't dream better. :)
Author
Owner

@JimTR commented on GitHub (May 15, 2016):

there are some caveats which I will explain later but are of no real problem if you can use linux ... so we have a demo running .... goto lightsoundstudios.eu login with the username 'tracey' password is tester . click my area then click game control panel you will notice the web stuff is on a different IP/machine/server to the game server. currently all the controls have been disabled as this is just an idea on what my html looks like

<!-- gh-comment-id:219297136 --> @JimTR commented on GitHub (May 15, 2016): there are some caveats which I will explain later but are of no real problem if you can use linux ... so we have a demo running .... goto lightsoundstudios.eu login with the username 'tracey' password is tester . click my area then click game control panel you will notice the web stuff is on a different IP/machine/server to the game server. currently all the controls have been disabled as this is just an idea on what my html looks like
Author
Owner

@JimTR commented on GitHub (May 15, 2016):

Something else that I forgot could lgsm add the port to the service name so when servicename is defined, it is like this - servicename="servername-"${port} this may require an extra setup question to confirm the port ... however I guess the web interface could write all used ports to a file & lgsm just add 1 to the last entry in the file as the web interface would just write the file in port order

<!-- gh-comment-id:219298346 --> @JimTR commented on GitHub (May 15, 2016): Something else that I forgot could lgsm add the port to the service name so when servicename is defined, it is like this - servicename="servername-"${port} this may require an extra setup question to confirm the port ... however I guess the web interface could write all used ports to a file & lgsm just add 1 to the last entry in the file as the web interface would just write the file in port order
Author
Owner

@jaredballou commented on GitHub (May 19, 2016):

It should be able to read the lgsm script or config to extract the port, right?

<!-- gh-comment-id:220453877 --> @jaredballou commented on GitHub (May 19, 2016): It should be able to read the lgsm script or config to extract the port, right?
Author
Owner

@JimTR commented on GitHub (May 19, 2016):

no this just makes it a bit easier to identify the tmux window when you are running more than one server, example - gmodserver-27015 & gmodserver-27035 rather than reading the script(s) each time you want to find out what the tmux window has been created as . The web GUi on install, names the base script with it's port appended so I guess I could rename the service name at the same time of altering the port in the script.

<!-- gh-comment-id:220457354 --> @JimTR commented on GitHub (May 19, 2016): no this just makes it a bit easier to identify the tmux window when you are running more than one server, example - gmodserver-27015 & gmodserver-27035 rather than reading the script(s) each time you want to find out what the tmux window has been created as . The web GUi on install, names the base script with it's port appended so I guess I could rename the service name at the same time of altering the port in the script.
Author
Owner

@JimTR commented on GitHub (May 23, 2016):

Over the weekend I have taken the web gui away from a plugin to my frame work and made it a stand alone project there is a demo at http://noideergames.cu.cc/ with the same login ... This is going to be a little harder to get right as a stand alone (there were so many framework functions the plugin used but it may be a better design in the end. I have opened up the 'join game' button so you can test the players online function

<!-- gh-comment-id:220866116 --> @JimTR commented on GitHub (May 23, 2016): Over the weekend I have taken the web gui away from a plugin to my frame work and made it a stand alone project there is a demo at http://noideergames.cu.cc/ with the same login ... This is going to be a little harder to get right as a stand alone (there were so many framework functions the plugin used but it may be a better design in the end. I have opened up the 'join game' button so you can test the players online function
Author
Owner

@JimTR commented on GitHub (May 23, 2016):

I really need some way around this ... for web purpose perhaps the scripts are a bit too verbose I get returns from them like

Array ( [0] => [ .... ] Starting gmod-server-27015: Garry's Mod Web GUI Test [ INFO ] Starting gmod-server-27015: Garry's Mod Web GUI Test is already running )

where as all I need is a flag .. E.G Started,didn't start,already running so the script could just return 1 of 3 values E.G 0 or 1 or 2 rather than searching the return string for something (example : - already running ) as if the text is changed by either language or content the web interface will fail

<!-- gh-comment-id:221012610 --> @JimTR commented on GitHub (May 23, 2016): I really need some way around this ... for web purpose perhaps the scripts are a bit too verbose I get returns from them like > Array ( [0] => [ .... ] Starting gmod-server-27015: Garry's Mod Web GUI Test [ INFO ] Starting gmod-server-27015: Garry's Mod Web GUI Test is already running ) where as all I need is a flag .. E.G Started,didn't start,already running so the script could just return 1 of 3 values E.G 0 or 1 or 2 rather than searching the return string for something (example : - already running ) as if the text is changed by either language or content the web interface will fail
Author
Owner

@dgibbs64 commented on GitHub (May 24, 2016):

sounds like you need exit codes.
if you run a command then to echo $? you get the exit code. this normally returns 0 for OK or another number for an error.

Since you already know the command you are running you simply need to basically get an OK or FAIL message so the web interface knows if the command worked or not. LGSM already uses exit codes 0 and 1. However I can customize the codes and then put together a list of what the error mean. that way if the script returns for example error 5 you can print on the interface "FAIL! Low disk space" or something to that effect.

Let me know if you think exit codes could work for your interface

<!-- gh-comment-id:221372421 --> @dgibbs64 commented on GitHub (May 24, 2016): sounds like you need exit codes. if you run a command then to echo $? you get the exit code. this normally returns 0 for OK or another number for an error. Since you already know the command you are running you simply need to basically get an OK or FAIL message so the web interface knows if the command worked or not. LGSM already uses exit codes 0 and 1. However I can customize the codes and then put together a list of what the error mean. that way if the script returns for example error 5 you can print on the interface "FAIL! Low disk space" or something to that effect. Let me know if you think exit codes could work for your interface
Author
Owner

@JimTR commented on GitHub (May 25, 2016):

Exit codes will work well, the php exec function has a return variable for that. so a list of exit codes and their meanings will be spot on

<!-- gh-comment-id:221563485 --> @JimTR commented on GitHub (May 25, 2016): Exit codes will work well, the php exec function has a return variable for that. so a list of exit codes and their meanings will be spot on
Author
Owner

@dgibbs64 commented on GitHub (May 25, 2016):

Cool I dont have a list of anything yet but I will start putting together something.

<!-- gh-comment-id:221577398 --> @dgibbs64 commented on GitHub (May 25, 2016): Cool I dont have a list of anything yet but I will start putting together something.
Author
Owner

@JimTR commented on GitHub (May 25, 2016):

There is now a git .. here To be fair don't download the code yet as there is no install routine yet but if you are brave let me know & I'll walk you through the install. But I guess you can open issues there regarding the demo noted above.

<!-- gh-comment-id:221660082 --> @JimTR commented on GitHub (May 25, 2016): There is now a git .. [here](https://github.com/JimTR/LGSM-Web) To be fair don't download the code yet as there is no install routine yet but if you are brave let me know & I'll walk you through the install. But I guess you can open issues there regarding the demo noted above.
Author
Owner

@elstringer commented on GitHub (May 25, 2016):

I think there is too much apelle outdoor URL to retrieve a lot of information

<!-- gh-comment-id:221710151 --> @elstringer commented on GitHub (May 25, 2016): I think there is too much apelle outdoor URL to retrieve a lot of information
Author
Owner

@JimTR commented on GitHub (May 25, 2016):

If I understood what you said I could respond

<!-- gh-comment-id:221712282 --> @JimTR commented on GitHub (May 25, 2016): If I understood what you said I could respond
Author
Owner

@dgibbs64 commented on GitHub (May 29, 2016):

Im wondering if somthing like this might help https://github.com/pixelb/scripts/blob/master/scripts/ansi2html.sh

<!-- gh-comment-id:222387580 --> @dgibbs64 commented on GitHub (May 29, 2016): Im wondering if somthing like this might help https://github.com/pixelb/scripts/blob/master/scripts/ansi2html.sh
Author
Owner

@JimTR commented on GitHub (May 30, 2016):

had a play with ansi2html.sh and it does not really do it as it returns formatted html and not just the data and (to date) I have not found a method to echo to the screen rather than a file. Php retruns the terminal output and exit code to the calling proceedure via the exec function. So using exit codes is by far the best option .. using codes I can just disregard the output from LGSM and use the exit code to display what is required.

<!-- gh-comment-id:222499913 --> @JimTR commented on GitHub (May 30, 2016): had a play with ansi2html.sh and it does not really do it as it returns formatted html and not just the data and (to date) I have not found a method to echo to the screen rather than a file. Php retruns the terminal output and exit code to the calling proceedure via the exec function. So using exit codes is by far the best option .. using codes I can just disregard the output from LGSM and use the exit code to display what is required.
Author
Owner

@dgibbs64 commented on GitHub (May 30, 2016):

The issue I can see with disregarding messages from LGSM is that should the message change you will have to update the message on the web interface manually. It would be better to be able to use the LGSM message. Currently 99% of my exit codes are either 0 or 1 as more complex codes have not yet been required. I was wondering if its possible for php to strip the ANSI color codes from the output before displaying the output to the interface? I currently do similar with sed in BASH for stripping stuff out of config files. Maybe something along these lines? http://stackoverflow.com/questions/1176904/php-how-to-remove-all-non-printable-characters-in-a-string

I am just trying to figure out a way to cut out us having to do a load of work now and in the future. Being able to strip out the ANSI codes and also return a pass or fail should be enough most of the time. Unless a different exit code is specifically required which we can do on a case by case basis.

I also want to try and avoid your interface accidentally breaking should I make any changes.

Also just a reminder I am by no means a php expert and know very little myself so you will have to bear with me when it comes to some php stuff

<!-- gh-comment-id:222523698 --> @dgibbs64 commented on GitHub (May 30, 2016): The issue I can see with disregarding messages from LGSM is that should the message change you will have to update the message on the web interface manually. It would be better to be able to use the LGSM message. Currently 99% of my exit codes are either 0 or 1 as more complex codes have not yet been required. I was wondering if its possible for php to strip the ANSI color codes from the output before displaying the output to the interface? I currently do similar with sed in BASH for stripping stuff out of config files. Maybe something along these lines? http://stackoverflow.com/questions/1176904/php-how-to-remove-all-non-printable-characters-in-a-string I am just trying to figure out a way to cut out us having to do a load of work now and in the future. Being able to strip out the ANSI codes and also return a pass or fail should be enough most of the time. Unless a different exit code is specifically required which we can do on a case by case basis. I also want to try and avoid your interface accidentally breaking should I make any changes. Also just a reminder I am by no means a php expert and know very little myself so you will have to bear with me when it comes to some php stuff
Author
Owner

@federicovilla commented on GitHub (May 30, 2016):

Really interesting project!

<!-- gh-comment-id:222528747 --> @federicovilla commented on GitHub (May 30, 2016): Really interesting project!
Author
Owner

@JimTR commented on GitHub (May 31, 2016):

I was going to update the strings on LGSM to suit language so the web interface could display 'starting gmodserver' to an english speaking client & 'Démarrage gmod - serveur' to a french speaking client ! The web interface has basic IP country tracking so another feature of the web interface was to switch langs where applicable, so if there are any non English speakers out there that wish to translate the strings into their mother tongue open an issue on my git. From that all i need is exit codes perhaps a structure could be built like so :
function code
check.sh 1x
check_config.sh 2x
check_deps.sh 3x
and so on.
As you can see the first number could indicate the script and x is the exit code. eg 10 could equal check.sh terminated without errors & 11 could mean check.sh terminated with some error etc.

the sent link is how I have implemented already but thinking of translations it not going to work very well where as exit codes will !

`

<!-- gh-comment-id:222689832 --> @JimTR commented on GitHub (May 31, 2016): I was going to update the strings on LGSM to suit language so the web interface could display 'starting gmodserver' to an english speaking client & 'Démarrage gmod - serveur' to a french speaking client ! The web interface has basic IP country tracking so another feature of the web interface was to switch langs where applicable, so if there are any non English speakers out there that wish to translate the strings into their mother tongue open an issue on my git. From that all i need is exit codes perhaps a structure could be built like so : function code check.sh 1x check_config.sh 2x check_deps.sh 3x and so on. As you can see the first number could indicate the script and x is the exit code. eg 10 could equal check.sh terminated without errors & 11 could mean check.sh terminated with some error etc. the [sent link](http://stackoverflow.com/questions/1176904/php-how-to-remove-all-non-printable-characters-in-a-string) is how I have implemented already but thinking of translations it not going to work very well where as exit codes will ! `
Author
Owner

@JimTR commented on GitHub (May 31, 2016):

I have started on the install page now my question is :- is there a resource somewhere that gives me a list of all server scripts that have been made and a url for them so the web interface can download the right script & run the install routine.
With regard to dependants is there a resource that tells me what is required for each script or are all dependants the same on all scripts ?

<!-- gh-comment-id:222693813 --> @JimTR commented on GitHub (May 31, 2016): I have started on the install page now my question is :- is there a resource somewhere that gives me a list of all server scripts that have been made and a url for them so the web interface can download the right script & run the install routine. With regard to dependants is there a resource that tells me what is required for each script or are all dependants the same on all scripts ?
Author
Owner

@rip1980 commented on GitHub (Jun 3, 2016):

I was just looking because I'm doing something similar for a non-technical user on linux.

Simply using MONIT (Not affiliated in anyway, for the curious: https://mmonit.com/monit/#about) and kludging my way into the scripts, for instance on cs1.6:

./csserver monitor >> /dev/null ; echo $?

To get an easy status without changing anything. Just mentioning it because it may be helpful hacking up something existing than starting from scratch.

<!-- gh-comment-id:223478711 --> @rip1980 commented on GitHub (Jun 3, 2016): I was just looking because I'm doing something similar for a non-technical user on linux. Simply using MONIT (Not affiliated in anyway, for the curious: [https://mmonit.com/monit/#about](https://mmonit.com/monit/#about)) and kludging my way into the scripts, for instance on cs1.6: ./csserver monitor >> /dev/null ; echo $? To get an easy status without changing anything. Just mentioning it because it may be helpful hacking up something existing than starting from scratch.
Author
Owner

@JimTR commented on GitHub (Jun 3, 2016):

I don't really need this as PHP returns the exit code

<!-- gh-comment-id:223554181 --> @JimTR commented on GitHub (Jun 3, 2016): I don't really need this as PHP returns the exit code
Author
Owner

@dgibbs64 commented on GitHub (Jun 9, 2016):

@JimTR I think you need to message me directory on Steam as im missing stuff on here and I will be able to answer you a quicker.

<!-- gh-comment-id:224999937 --> @dgibbs64 commented on GitHub (Jun 9, 2016): @JimTR I think you need to message me directory on Steam as im missing stuff on here and I will be able to answer you a quicker.
Author
Owner

@dgibbs64 commented on GitHub (Jun 11, 2016):

OK so I will look at adding exit codes as suggested each file will have a number and the exit code of either 0 or 1 I will create a branch for this to investigate https://github.com/dgibbs64/linuxgsm/tree/exitcodes

<!-- gh-comment-id:225382797 --> @dgibbs64 commented on GitHub (Jun 11, 2016): OK so I will look at adding exit codes as suggested each file will have a number and the exit code of either 0 or 1 I will create a branch for this to investigate https://github.com/dgibbs64/linuxgsm/tree/exitcodes
Author
Owner

@dgibbs64 commented on GitHub (Jul 12, 2016):

Exit codes have been added to the master branch now use ./gamserver dev-debug to see the codes in the script. Also in core_messages.sh is is possible to turn off ANSI. However i am yet to add the variable to the main script files.

<!-- gh-comment-id:232183658 --> @dgibbs64 commented on GitHub (Jul 12, 2016): Exit codes have been added to the master branch now use ./gamserver dev-debug to see the codes in the script. Also in core_messages.sh is is possible to turn off ANSI. However i am yet to add the variable to the main script files.
Author
Owner

@JimTR commented on GitHub (Jul 13, 2016):

Ok cool so all I need to do is download the functions again or do I need to add the main script ?

<!-- gh-comment-id:232349633 --> @JimTR commented on GitHub (Jul 13, 2016): Ok cool so all I need to do is download the functions again or do I need to add the main script ?
Author
Owner

@dgibbs64 commented on GitHub (Jul 13, 2016):

you have just update the functions in the normal way with ./gameserver uf (do this a couple of times. You can also add the variable ansi=off to the main script file and it will remove any colouring.

<!-- gh-comment-id:232396469 --> @dgibbs64 commented on GitHub (Jul 13, 2016): you have just update the functions in the normal way with ./gameserver uf (do this a couple of times. You can also add the variable ansi=off to the main script file and it will remove any colouring.
Author
Owner

@WriggleDev commented on GitHub (Jul 5, 2017):

Any further work on this or someone else doing anything for this at all?

<!-- gh-comment-id:313049640 --> @WriggleDev commented on GitHub (Jul 5, 2017): Any further work on this or someone else doing anything for this at all?
Author
Owner

@dgibbs64 commented on GitHub (Sep 19, 2017):

No update on this in a while. I will close this

<!-- gh-comment-id:330477469 --> @dgibbs64 commented on GitHub (Sep 19, 2017): No update on this in a while. I will close this
Author
Owner

@lock[bot] commented on GitHub (Sep 19, 2018):

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.

<!-- gh-comment-id:422730769 --> @lock[bot] commented on GitHub (Sep 19, 2018): 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.
Sign in to join this conversation.
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LinuxGSM#654
No description provided.