* feat: update unsupprted distros and add comments to info_distro
* remove tmux 1.6 code
* add java and tmux version and change ram to int
* tidy up ram requirements
used data gathered from analytics
* refactor: remove unnecessary comments in default server configurations
The commit removes unnecessary comments from the default server configurations. The comments were providing instructions to edit the configuration files with care, but they are not needed and can be safely removed.
* refactor: update server names in default configuration files
- Updated the servername value in multiple default configuration files to "LinuxGSM" for consistency.
- Refactored the code to reflect the changes made.
* refactor: rename fn_script_log_fatal to fn_script_log_faail
to create more consistency with naming
* feat: improve console output formatting
- Added separator function to improve readability of console output.
- Replaced multiple instances of manual separators with the new function.
- Updated commit message to follow conventional commit standard.
* refactor: remove unnecessary fn_sleep_time calls
This commit removes the fn_sleep_time function calls that are no longer needed in multiple modules. The fn_sleep_time function was used to introduce a delay, but it is no longer necessary for the current implementation.
* better standardise random
* removed bold where not required
* refactor: refactor tmux session handling
- Updated the code to use the variable `socketname` instead of `sessionname` when interacting with tmux sessions.
- Added logic to create a unique socket name using a UID if it doesn't already exist.
- Refactored multiple functions (`fn_start_jk2`, `fn_start_tmux`, `fn_stop_graceful_ctrlc`, `fn_stop_graceful_cmd`, `fn_stop_graceful_goldsrc`, `fn_stop_graceful_avorion`, and `fn_stop_tmux`) to use the new socket name for tmux commands.
This commit improves the readability and maintainability of the code by separating the concept of session names from socket names, allowing for more flexibility in managing tmux sessions.
* feat: stop server when generating uid
this should prevent issues when migrating to using uid
* refactor: lockfile handling
- Removed unnecessary function fn_start_jk2()
- Removed unused variable startparameters in fn_start_tmux()
- Added comments to clarify code functionality
- Renamed lockfile from "${lockdir}/${selfname}.lock" to "${lockdir}/${selfname}-start.lock"
- Updated log messages and log file names to include timestamp
* refactor: improve backup and update monitoring
The code in `command_monitor.sh` has been refactored to enhance the monitoring of backups and updates. The conditions for checking if a backup or update is running have been modified to include additional checks using `pgrep`. This change improves the accuracy of the monitoring process.
* refactor: improve logging in core_exit.sh
- Changed the grep command to include the -a flag to handle non-text files
- Updated sed command to remove "modulefile=" from the output and redirect it to dev-debug-module-order.log
* refactor: improve code readability and remove redundant code
- Refactored the `fn_monitor_check_starting` function to check for stale lockfiles and print appropriate messages.
- Refactored the `fn_monitor_check_stopping` function to check for stale lockfiles and print appropriate messages.
- Removed redundant code that deletes the update lockfile in `command_update.sh` and `command_validate.sh`.
- Improved code readability by removing unnecessary comments.
* feat: add exitbypass flag to prevent lingering tmux sessions
The code changes in `command_start.sh` include adding an `exitbypass` flag to prevent lingering tmux sessions. This flag is used to stop the running server before creating a unique uid for the tmux socket name.
* refactor: Refactor lockfile names for consistency and clarity
- Renamed "${lockdir}/${selfname}-laststart.lock" to "${lockdir}/${selfname}-last-started.lock"
- Renamed "${lockdir}/backup.lock" to "${lockdir}/stopping.lock"
- Renamed "${lockdir}/${selfname}-start.lock" to "${lockdir}/${selfname}-started.lock"
- Renamed "${lockdir}/${selfname}-starting.lock" to "${lockdir}/${selfname}-stopping.lock"
This commit refactors the lockfile names in the codebase for better consistency and clarity. The changes make it easier to understand the purpose of each lockfile and improve readability.
* refactor: refactor check_last_update.sh, command_backup.sh, command_debug.sh, command_mods_remove.sh, command_monitor.sh, command_start.sh, command_stop.sh, command_ts3_server_pass.sh and core_steamcmd.sh
- Refactored code to improve readability and maintainability.
- Renamed variables for clarity.
- Removed unnecessary comments and unused code.
- Fixed typos and formatting issues.
* refactor: update lock file path in core_steamcmd.sh
The lock file path in the core_steamcmd.sh script has been updated to use the correct variable. This change ensures that the lock file is created in the correct directory.
* refactor: improve file deletion in command_stop.sh
The code change refactors the file deletion process in the command_stop.sh script. Instead of using an empty redirect, it now directly removes the specified lock file. This improves clarity and ensures proper cleanup when stopping a command.
* refactor: update lockfile name in command_monitor.sh
The lockfile name has been changed from "${selfname}-started.lock" to "${selfname}-monitoring.lock" in the fn_monitor_check_lockfile function. The code has also been refactored to remove unnecessary checks and fixes for the lockfile.
* refactor: simplify start and stop command checks
The code in `command_start.sh` and `command_stop.sh` has been refactored to simplify the checks for the start and stop commands. Instead of checking if `exitbypass` is empty, it now directly checks if `firstcommandname` matches specific values ("START", "RESTART" for start command, and "STOP" for stop command). This change improves readability and reduces unnecessary conditions.
* refactor: simplify lockfile names and remove duplicate code
- Renamed lockfiles from "${selfname}-started.lock" to "started.lock", "${selfname}-starting.lock" to "starting.lock", "${selfname}-stopping.lock" to "stopping.lock", and "${selfname}-update.lock" to "update.lock".
- Removed duplicate code for removing stale lockfiles in fn_monitor_check_starting(), fn_monitor_check_stopping(), fn_monitor_check_backup(), fn_monitor_check_update(), update_factorio.sh, update_jediknight2.sh, update_minecraft.sh, update_minecraft_bedrock.sh, update_mta.sh, update_papermc.sh, update_ts3.sh, update_ut99.sh, and update_vintagestory.sh.
- Updated references to the renamed lockfiles in the respective functions.
* fix: corrected commandname
* fix: commandname skeleton
* refactor: improve file path handling in check_last_update.sh
The code changes refactor the file path handling in check_last_update.sh to use the correct lock directory. This ensures that the last update time is correctly retrieved and compared with the last start time.
* feat: add update lock file
Add functionality to create an update lock file when validating and updating SteamCMD. This prevents potential conflicts with customised files.
- Create a lock file with the current timestamp in the "command_validate.sh" script
- Create a lock file with the current timestamp in the "update_steamcmd.sh" script
* refactor: rename libgcc_s.so.1 backup file
The code has been refactored to improve clarity and readability. The variable `libgccc_so` has been renamed to `libgccc_so.bak` for better understanding of its purpose. This change ensures that the backup file for libgcc_s.so.1 is correctly named and easily identifiable.
* refactor: improve logging and error handling in command_monitor.sh
- Added error handling for PIDs with identical tmux sessions running, killing them and restarting the server.
- Added error handling for PIDs with the same tmux session and socket names running, killing them and restarting the server.
* add new details to queryraw
* fix httpport ac server
* correct info bug for bt1944server
* added bt1944 to info_parms
update info messages
bt1944ports
* steamport
* raw port
raw
* message display
* check_root bug
* add more ports
merge
words
* arma 3 improvements
* master port
* add arma3 ports
* portnames
* strip ./ from executable
* exec
* integrate ss
* replace netstat with ss
* port header
headerr
* remove inbound outbound
* ark
* shorten executable
* change to port display
* add info_distro
* response
* acserver improvements
acserver
ac
* add assettocorsa query
* ss
* rawport
* update av server exec
merge
av changes
* av ports
* av ss
bug
* av
* avserver
* remove port
* port changes
* listen
* col
* bt1944
* cmw
cmw
* cmw
* changes
* etl
* add servers
* hw
* inss
ins
* add rcon to insserver
* rcon
* jc
* jc3 minecraft
* mcb
* onset
* Memories of mars
* mumble
* changes
* steamport
* tcp query
* udp
* fix
* steamport
* info_distro now required before parms
* srcdslinuxopid
* srcds_linux
* hlds_linux
* ins
* date
* ns2
* rising world
rising world query port
rising world javaram
rising world
a
* rising world ports
* portipv6
* add ports to query raw
* add Rising World Query
* fix rising world game mode
* update 7 Days to Die
* port3
* increased sdtd glibc to 2.27
* corrected starbound ports location
* starbound
* added new SteamCMD error code
* Master server check if query raw
* Stationeers
* stationeers
* webadmin
* added extra query ports for ts3
a
* add teamspeak3 query
* add ts3 query details
* ts3 version
* queryport reverts back once gamedig finished
* added telnetport to ts3
* fix TS3 bug causing shutdown when starting debug
the fix was running and killing a running server
* show start parameters for ts3
* tower unite
* terraria
* terraria
* ss command in dev-query-raw
info_messages.sh
* ut4 and others
* more updates
* soldat
* col vint
* pvr query port
tab
* pvr query type tcp
* pvr gameport+400
* changed to shortname
* unreal99
* ut99 beacon
* httpport
* ut2k4
* kf
* kf
* bug
* httpport
* httpport
* more kf ports
* lan port
* steammasterport
* kf
* ports
* ports
* ut2k4
* ut2k4
* lanport
* lanport
* ro
* ro
* kf2
* httpport
* update naming
* ut3
* ut3
* ut3
* mom
* mom
* reshuffle
* sort list
* function re-shuffle
* merge info_parms and info_config into info_game.sh
a
* updated source filters
* added ac to edit ports array
* Revert "updated source filters"
This reverts commit e8621eaed6.
* spaces
* fix typo
* tidy
* re ordered ports edit array
* added java
* add bf1942
* Added Last Oasis
* corrected pc function name
* re ordered in alpha
* space
* remove space
* remove remaining fn_parms
* remove ${parms}
* updated UI and comments
* add server date and other details improvements
* fix(post-details): prevent serverpassword showing in start parameters
* fix sdtd config handling for the port
* add steamclient.so fix to sdtd
* removed logfile from parameters to allow console display
* steamclient.so bug fix
* allow accurate ip to be set for webadminip in most cases
* master server query will loop through server ip addresses
* more accurate details on telnet IP address
* minor tidy up of details web admin and telnet
* sdtd does not have an interactive console
* correct steamclient.so fix
* remove x86 binary as no longer present
* more changes to steamclient.so
Co-authored-by: H3o66 <[email protected]>
Removes a long time annoyance for any users who have servers with multiple IP addresses.
Now if the server has more than one IP address LinuxGSM will automatically try query all IP's until it gets a response.
The default IP in settings will now be 0.0.0.0 this also helps resolve issues with source servers and LAN browser #2534
If required it is still possible to manually enter the IP address you want to use. Also, displayip setting is useful if you want your alert to specify an IP address
IP variables for reference
ip the default IP for the server if using 0.0.0.0 LinuxGSM will query all available IP addresses
queryips a list of the ip addresses that will be queried
queryip the ip address that is being queried
displayip the ip/hostname you want to show up in alerts. if unset the internet-facing IP will be used
extip the external internet-facing IP address
* Revert "fix(messages): fix some messages not using newline correctly (#2772)"
This reverts commit 3bd64bbc13.
* Revert "fix(messages): fix some messages not using newline correctly (#2765)"
This reverts commit c847ecb4b6.
* added new [ START ] message
* various messages improvements made
* add mumble query
* re-ordered serverlist.csv
* gamedig refactor
* query raw update
* gamedig: changed --query_port to --port
* add query data to log
* remove UDP query as does not work.
* refactor gamedig and gsquery
* add missing Factorio rcon port
* add fn_monitor_check_queryport
* add TCP query to Factorio
* add mta query support
* MTA IP address must be set. No longer using config
* remove mumble and ts3 from bypassing check_ip
* update netstat command for Project Zomboid
* adde query port to Project Zomboid
* update query mode for samp
* Update Teeworlds query
* add Soldat to TCP query
* update ss3 port info
* add query details to Serious Sam 3
* add Terraria query port
* ts3 now uses tcp query as proper query requires permissions changes
* update ut99 query
* gsquery add gamespy1
* separate out unreal engine functions
* updated ut2k4 query
* update Teeworlds query
* update Factorio query
* change engine if to shortname
A delay timer has been added to give game servers time to boot before monitor begins query. This is useful for large game servers or that have several mods
querydelay setting has been added to _default.cfg