forked from GameServerManagers/LinuxGSM
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(dev): add new developer command for parsing distro details
- Loading branch information
Showing
5 changed files
with
283 additions
and
101 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
#!/bin/bash | ||
# LinuxGSM command_dev_parse_distro_details.sh module | ||
# Author: Daniel Gibbs | ||
# Contributors: http://linuxgsm.com/contrib | ||
# Website: https://linuxgsm.com | ||
# Description: Display parsed distro details. | ||
|
||
check_ip.sh | ||
check_status.sh | ||
info_distro.sh | ||
|
||
# Create an associative array of the server details. | ||
declare -A server_details=( | ||
['.NET Version']="${dotnetversion}" | ||
['Arch']="${arch}" | ||
['Backup Count']="${backupcount}" | ||
['Backup Last Date']="${lastbackupdate}" | ||
['Backup Last Days Ago']="${lastbackupdaysago}" | ||
['Backup Last Size']="${lastbackupsize}" | ||
['Backup Last']="${lastbackup}" | ||
['CPU Average Load']="${load}" | ||
['CPU Cores']="${cpucores}" | ||
['CPU Frequency']="${cpufreqency}" | ||
['CPU Model']="${cpumodel}" | ||
['Distro Codename']="${distrocodename}" | ||
['Distro ID Like']="${distroidlike}" | ||
['Distro ID']="${distroid}" | ||
['Distro Kernel']="${kernel}" | ||
['Distro Name']="${distroname}" | ||
['Distro Version CSV']="${distroversioncsv}" | ||
['Distro Version RH']="${distroversionrh}" | ||
['Distro Version']="${distroversion}" | ||
['Distro-Info Support']="${distrosupport}" | ||
['File System']="${filesystem}" | ||
['Game Server PID']="${gameserverpid}" | ||
['Gameserver CPU Used MHz']="${cpuusedmhz}" | ||
['Gameserver CPU Used']="${cpuused}" | ||
['Gameserver Mem Used MB']="${memusedmb}" | ||
['Gameserver Mem Used Pct']="${memusedpct}" | ||
['GLIBC Version']="${glibcversion}" | ||
['GLIBC']="${glibc}" | ||
['HLDS Linux PID']="${hldslinuxpid}" | ||
['Java Version']="${javaversion}" | ||
['Mono Version']="${monoversion}" | ||
['Network Interface']="${netint}" | ||
['Network Link Speed']="${netlink}" | ||
['Old Free']="${oldfree}" | ||
['Phys Mem Available']="${physmemavailable}" | ||
['Phys Mem Buffers KB']="${physmembufferskb}" | ||
['Phys Mem Cached']="${physmemcached}" | ||
['Phys Mem Free']="${physmemfree}" | ||
['Phys Mem Reclaimable KB']="${physmemreclaimablekb}" | ||
['Phys Mem Total GB']="${physmemtotalgb}" | ||
['Phys Mem Used']="${physmemused}" | ||
['Size Backup Dir']="${backupdirdu}" | ||
['Size Root Dir ']="${rootdirdu}" | ||
['Size Root Dir Excl. Backup']="${rootdirduexbackup}" | ||
['Size Serverfiles']="${serverfilesdu}" | ||
['SRCDS Linux PID']="${srcdslinuxpid}" | ||
['Storage Available']="${availspace}" | ||
['Storage Total']="${totalspace}" | ||
['Storage Used']="${usedspace}" | ||
['Swap Free']="${swapfree}" | ||
['Swap Total']="${swaptotal}" | ||
['Swap Used']="${swapused}" | ||
['Tmux Version']="${tmuxversion}" | ||
['Uptime Days']="${days}" | ||
['Uptime Hours']="${hours}" | ||
['Uptime Minutes']="${minutes}" | ||
['Uptime Total Seconds']="${uptime}" | ||
['Virtual Environment']="${virtualenvironment}" | ||
# ['Distro Info Array']="${distro_info_array}" | ||
# ['Distros Unsupported Array']="${distrosunsupported_array}" | ||
# ['Distros Unsupported']="${distrosunsupported}" | ||
# ['Human Readable']="${humanreadable}" | ||
# ['Phys Mem Actual Free KB']="${physmemactualfreekb}" | ||
# ['Phys Mem Cached KB']="${physmemcachedkb}" | ||
# ['Phys Mem Free KB']="${physmemfreekb}" | ||
# ['Phys Mem Total KB']="${physmemtotalkb}" | ||
# ['Phys Mem Total MB']="${physmemtotalmb}" | ||
# ['SS Info']="${ssinfo}" | ||
) | ||
|
||
# Initialize variables to keep track of available and missing distro details. | ||
available_details="" | ||
missing_details="" | ||
|
||
# Loop through the distro details and store them. | ||
for key in "${!server_details[@]}"; do | ||
value=${server_details[$key]} | ||
if [ -n "$value" ]; then | ||
available_details+="${lightblue}${key}: ${default}${value}\n" | ||
else | ||
missing_details+="${key}\n" | ||
fi | ||
done | ||
|
||
# Sort and output the available distro details. | ||
if [ -n "$available_details" ]; then | ||
echo -e "" | ||
echo -e "${bold}${lightgreen}Available Distro Details${default}" | ||
fn_messages_separator | ||
echo -e "${available_details}" | sort | ||
fi | ||
|
||
# Sort and output the missing distro details. | ||
if [ -n "$missing_details" ]; then | ||
echo -e "" | ||
echo -e "${lightgreen}Missing or unsupported Distro Details${default}" | ||
fn_messages_separator | ||
echo -e "${missing_details}" | sort | ||
fi | ||
|
||
core_exit.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
#!/bin/bash | ||
# LinuxGSM command_dev_parse_game_details.sh module | ||
# Author: Daniel Gibbs | ||
# Contributors: http://linuxgsm.com/contrib | ||
# Website: https://linuxgsm.com | ||
# Description: Display parsed gameserver details. | ||
|
||
if [ -f "config" ]; then | ||
servercfgfullpath="config" | ||
fi | ||
if [ -f "clusterconfig" ]; then | ||
clustercfgfullpath="clusterconfig" | ||
fi | ||
|
||
info_game.sh | ||
|
||
carriagereturn=$(file -b "${servercfgfullpath}" | grep -q CRLF && echo "${red}CRLF${default}" || echo "${lightgreen}LF${default}") | ||
|
||
echo -e "" | ||
echo -e "${bold}${lightgreen}Server Details${default}" | ||
fn_messages_separator | ||
|
||
echo -e "" | ||
echo -e "${lightblue}Game: ${default}${gamename}" | ||
echo -e "${lightblue}Config type: ${default}${configtype}" | ||
echo -e "${lightblue}Config file: ${default}${servercfgfullpath}" | ||
if [ -f "${clustercfgfullpath}" ]; then | ||
echo -e "${lightblue}Cluster config file: ${default}${clustercfgfullpath}" | ||
fi | ||
echo -e "${lightblue}Carriage Return: ${default}${carriagereturn}" | ||
|
||
# Create an associative array of the server details. | ||
declare -A server_details=( | ||
['Admin Password']="${adminpassword}" | ||
['Alert IP']="${alertip}" | ||
['API Port']="${apiport}" | ||
['App Port']="${appport}" | ||
['ASE']="${ase}" | ||
['Auth Token']="${authtoken}" | ||
['BattleEye Port']="${battleeyeport}" | ||
['Beacon Port']="${beaconport}" | ||
['Cave']="${cave}" | ||
['Client Port']="${clientport}" | ||
['Cluster']="${cluster}" | ||
['Config IP']="${configip}" | ||
['Creative Mode']="${creativemode}" | ||
['Custom Level URL']="${customlevelurl}" | ||
['DB Plugin']="${dbplugin}" | ||
['Default Map']="${defaultmap}" | ||
['Default Scenario']="${defaultscenario}" | ||
['Display Master Server']="${displaymasterserver}" | ||
['Epic Settings']="${epicsettings}" | ||
['File Port']="${fileport}" | ||
['Files Port']="${filesport}" | ||
['Game Mode']="${gamemode}" | ||
['Game Type']="${gametype}" | ||
['Home Kingdom']="${homekingdom}" | ||
['Home Server']="${homeserver}" | ||
['HTTP Enabled']="${httpenabled}" | ||
['HTTP IP']="${httpip}" | ||
['HTTP Password']="${httppassword}" | ||
['HTTP Port']="${httpport}" | ||
['HTTP User']="${httpuser}" | ||
['Internet IP']="${publicip}" | ||
['LAN Port']="${lanport}" | ||
['Login Server']="${loginserver}" | ||
['Master Port']="${masterport}" | ||
['Master Server']="${masterserver}" | ||
['Master']="${master}" | ||
['Max Players']="${maxplayers}" | ||
['Mod Server Port']="${modserverport}" | ||
['OldQueryPortNumber']="${oldqueryportnumber}" | ||
['Password']="${password}" | ||
['Port 401']="${port401}" | ||
['Port IPv6']="${portipv6}" | ||
['Port']="${port}" | ||
['Query Enabled']="${queryenabled}" | ||
['Query HTTP Port']="${queryhttpport}" | ||
['Query HTTPS Port']="${queryhttpsport}" | ||
['Query Mode']="${querymode}" | ||
['Query Port GS']="${queryportgs}" | ||
['Query Port']="${queryport}" | ||
['Query SSH Port']="${querysshport}" | ||
['Queue Enabled']="${queueenabled}" | ||
['Queue Port']="${queueport}" | ||
['Random Map']="${randommap}" | ||
['Raw Port']="${rawport}" | ||
['RC Password']="${rcpassword}" | ||
['RCON Enabled']="${rconenabled}" | ||
['RCON Password']="${rconpassword}" | ||
['RCON Port']="${rconport}" | ||
['RCON Web']="${rconweb}" | ||
['Reserved Slots']="${reservedslots}" | ||
['RMI Port']="${rmiport}" | ||
['RMI Reg Port']="${rmiregport}" | ||
['Salt']="${salt}" | ||
['Save Game Interval']="${savegameinterval}" | ||
['Save Interval']="${saveinterval}" | ||
['Secondary Port']="${port3}" | ||
['Seed']="${seed}" | ||
['Server Description']="${serverdescription}" | ||
['Server IP']="${ip}" | ||
['Server Level']="${serverlevel}" | ||
['Server Name']="${servername}" | ||
['Server Password Enabled']="${serverpasswordenabled}" | ||
['Server Password']="${serverpassword}" | ||
['Server Version']="${serverversion}" | ||
['Shard']="${shard}" | ||
['Sharding']="${sharding}" | ||
['Shutdown Port']="${shutdownport}" | ||
['Stats Port']="${statsport}" | ||
['Steam Auth Port']="${steamauthport}" | ||
['Steam Port']="${steamport}" | ||
['Steamworks Port']="${steamworksport}" | ||
['Telnet Enabled']="${telnetenabled}" | ||
['Telnet IP']="${telnetip}" | ||
['Telnet Password']="${telnetpass}" | ||
['Telnet Password']="${telnetpassword}" | ||
['Telnet Port']="${telnetport}" | ||
['Tickrate']="${tickrate}" | ||
['Unknown Port']="${unknownport}" | ||
['Version Count']="${versioncount}" | ||
['Voice Port']="${voiceport}" | ||
['Voice Unused Port']="${voiceunusedport}" | ||
['World Name']="${worldname}" | ||
['World Size']="${worldsize}" | ||
['World Type']="${worldtype}" | ||
) | ||
|
||
# Initialize variables to keep track of available and missing server details. | ||
available_details="" | ||
missing_details="" | ||
|
||
# Loop through the server details and store them. | ||
for key in "${!server_details[@]}"; do | ||
value=${server_details[$key]} | ||
if [ -n "$value" ]; then | ||
available_details+="${lightblue}${key}: ${default}${value}\n" | ||
else | ||
missing_details+="${key}\n" | ||
fi | ||
done | ||
|
||
# Sort and output the available distro details. | ||
if [ -n "$available_details" ]; then | ||
echo -e "" | ||
echo -e "${bold}${lightgreen}Available Distro Details${default}" | ||
fn_messages_separator | ||
echo -e "${available_details}" | sort | ||
fi | ||
|
||
# Output the missing server details if there are any. | ||
if [ -n "$missing_details" ]; then | ||
echo -e "" | ||
echo -e "${lightgreen}Missing or unsupported Server Details${default}" | ||
fn_messages_separator | ||
echo -e "${missing_details}" | sort | ||
fi | ||
|
||
core_exit.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.