gameservergame-servergame-servershacktoberfestdedicated-game-serversgamelinuxgsmserverbashgaminglinuxmultiplayer-game-servershell
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1991 lines
50 KiB
1991 lines
50 KiB
#!/bin/bash
|
|
# LinuxGSM info_messages.sh module
|
|
# Author: Daniel Gibbs
|
|
# Contributors: https://linuxgsm.com/contrib
|
|
# Website: https://linuxgsm.com
|
|
# Description: Defines server info messages for details and alerts.
|
|
|
|
moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
|
|
|
|
# Converts querytype to imgsoquerytype for use with ismygameserver.online urls
|
|
if [ -n "${querytype}" ]; then
|
|
if [ "${querytype}" == "protocol-valve" ]; then
|
|
imgsoquerytype="valve"
|
|
elif [ "${querytype}" == "protocol-gamespy1" ]; then
|
|
imgsoquerytype="gamespy"
|
|
elif [ "${querytype}" == "protocol-gamespy2" ]; then
|
|
imgsoquerytype="gamespy"
|
|
elif [ "${querytype}" == "protocol-gamespy3" ]; then
|
|
imgsoquerytype="gamespy"
|
|
elif [ "${querytype}" == "protocol-quake1" ]; then
|
|
imgsoquerytype="quake"
|
|
elif [ "${querytype}" == "protocol-quake2" ]; then
|
|
imgsoquerytype="quake"
|
|
elif [ "${querytype}" == "protocol-quake3" ]; then
|
|
imgsoquerytype="quake"
|
|
elif [ "${querytype}" == "protocol-unreal2" ]; then
|
|
imgsoquerytype="unrealtournament2004"
|
|
else
|
|
imgsoquerytype="${querytype}"
|
|
fi
|
|
fi
|
|
|
|
# Removes the passwords form all but details.
|
|
fn_info_messages_password_strip() {
|
|
if [ "${commandname}" != "DETAILS" ]; then
|
|
if [ "${serverpassword}" ]; then
|
|
serverpassword="********"
|
|
fi
|
|
|
|
if [ "${rconpassword}" ]; then
|
|
rconpassword="********"
|
|
fi
|
|
|
|
if [ "${adminpassword}" ]; then
|
|
adminpassword="********"
|
|
fi
|
|
|
|
if [ "${statspassword}" ]; then
|
|
statspassword="********"
|
|
fi
|
|
|
|
if [ "${httppassword}" ]; then
|
|
httppassword="********"
|
|
fi
|
|
|
|
if [ "${telnetpassword}" ]; then
|
|
telnetpassword="********"
|
|
fi
|
|
|
|
if [ "${wsapikey}" ]; then
|
|
wsapikey="********"
|
|
fi
|
|
|
|
if [ "${gslt}" ]; then
|
|
gslt="********"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# Alert Summary
|
|
# used with alertlog
|
|
fn_info_messages_head() {
|
|
echo -e ""
|
|
echo -e "LinuxGSM Alert Summary"
|
|
fn_messages_separator
|
|
echo -e ""
|
|
echo -e "Server name"
|
|
echo -e "${servername}"
|
|
echo -e ""
|
|
echo -e "Information"
|
|
echo -e "${alertmessage}"
|
|
echo -e ""
|
|
echo -e "Game"
|
|
echo -e "${gamename}"
|
|
echo -e ""
|
|
echo -e "Server IP"
|
|
echo -e "${alertip}:${port}"
|
|
echo -e ""
|
|
echo -e "Hostname"
|
|
echo -e "${HOSTNAME}"
|
|
echo -e ""
|
|
if [ -n "${querytype}" ]; then
|
|
echo -e "Is my Game Server Online?"
|
|
echo -e "https://ismygameserver.online/${imgsoquerytype}/${alertip}:${queryport}"
|
|
echo -e ""
|
|
fi
|
|
echo -e "Server Time"
|
|
echo -e "$(date)"
|
|
}
|
|
|
|
fn_info_messages_distro() {
|
|
#
|
|
# Distro Details
|
|
# =================================
|
|
# Date: Sun 21 Feb 2021 09:22:53 AM UTC
|
|
# Distro: Ubuntu 20.04.2 LTS
|
|
# Arch: x86_64
|
|
# Kernel: 5.4.0-65-generic
|
|
# Hostname: server
|
|
# Environment: kvm
|
|
# Uptime: 16d, 5h, 18m
|
|
# tmux: tmux 3.0a
|
|
# glibc: 2.31
|
|
|
|
echo -e ""
|
|
echo -e "${bold}${lightyellow}Distro Details${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Date:\t${default}$(date)"
|
|
echo -e "${lightblue}Distro:\t${default}${distroname}"
|
|
echo -e "${lightblue}Arch:\t${default}${arch}"
|
|
echo -e "${lightblue}Kernel:\t${default}${kernel}"
|
|
echo -e "${lightblue}Hostname:\t${default}${HOSTNAME}"
|
|
echo -e "${lightblue}Environment:\t${default}${virtualenvironment}"
|
|
echo -e "${lightblue}Uptime:\t${default}${days}d, ${hours}h, ${minutes}m"
|
|
echo -e "${lightblue}tmux:\t${default}${tmuxversion}"
|
|
echo -e "${lightblue}glibc:\t${default}${glibcversion}"
|
|
if [ -n "${javaram}" ]; then
|
|
echo -e "${lightblue}Java:\t${default}${javaversion}"
|
|
fi
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_server_resource() {
|
|
#
|
|
# Server Resource
|
|
# =================================
|
|
# CPU
|
|
# Model: AMD EPYC 7601 32-Core Processor
|
|
# Cores: 2
|
|
# Frequency: 2199.994MHz
|
|
# Avg Load: 0.01, 0.05, 0.18
|
|
#
|
|
# Memory
|
|
# Mem: total used free cached available
|
|
# Physical: 3.9GB 350MB 3.3GB 3.2GB 3.3GB
|
|
# Swap: 512MB 55MB 458MB
|
|
#
|
|
# Storage
|
|
# Filesystem: /dev/sda
|
|
# Total: 79G
|
|
# Used: 73G
|
|
# Available: 1.4G
|
|
#
|
|
# Network
|
|
# IP: 0.0.0.0
|
|
# Internet IP: 176.58.124.96
|
|
|
|
echo -e ""
|
|
echo -e "${bold}${lightyellow}Server Resource${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${bold}${lightyellow}CPU\t${default}"
|
|
echo -e "${lightblue}Model:\t${default}${cpumodel}"
|
|
echo -e "${lightblue}Cores:\t${default}${cpucores}"
|
|
echo -e "${lightblue}Frequency:\t${default}${cpufreqency}MHz"
|
|
echo -e "${lightblue}Avg Load:\t${default}${load}"
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
{
|
|
echo -e "${bold}${lightyellow}Memory\t${default}"
|
|
echo -e "${lightblue}Mem:\t${lightblue}total\tused\tfree\tcached\tavailable${default}"
|
|
echo -e "${lightblue}Physical:\t${default}${physmemtotal}\t${physmemused}\t${physmemfree}\t${physmemcached}\t${physmemavailable}${default}"
|
|
echo -e "${lightblue}Swap:\t${default}${swaptotal}\t${swapused}\t${swapfree}${default}"
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
{
|
|
echo -e "${bold}${lightyellow}Storage${default}"
|
|
echo -e "${lightblue}Filesystem:\t${default}${filesystem}"
|
|
echo -e "${lightblue}Total:\t${default}${totalspace}"
|
|
echo -e "${lightblue}Used:\t${default}${usedspace}"
|
|
echo -e "${lightblue}Available:\t${default}${availspace}"
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
{
|
|
echo -e "${bold}${lightyellow}Network${default}"
|
|
if [ -n "${netint}" ]; then
|
|
echo -e "${lightblue}Interface:\t${default}${netint}"
|
|
fi
|
|
if [ -n "${netlink}" ]; then
|
|
echo -e "${lightblue}Link Speed:\t${default}${netlink}"
|
|
fi
|
|
echo -e "${lightblue}IP:\t${default}${ip}"
|
|
if [ "${ip}" != "${publicip}" ]; then
|
|
echo -e "${lightblue}Internet IP:\t${default}${publicip}"
|
|
fi
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_gameserver_resource() {
|
|
#
|
|
# Game Server Resource Usage
|
|
# =================================
|
|
# CPU Used: 1.1%
|
|
# Mem Used: 4.8% 189MB
|
|
#
|
|
# Storage
|
|
# Total: 241M
|
|
# Serverfiles: 240M
|
|
# Backups: 24K
|
|
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Resource Usage${default}"
|
|
fn_messages_separator
|
|
{
|
|
if [ "${status}" != "0" ] && [ -v status ]; then
|
|
if [ -n "${cpuused}" ]; then
|
|
echo -e "${lightblue}CPU Used:\t${default}${cpuused}%${default}"
|
|
else
|
|
echo -e "${lightblue}CPU Used:\t${red}unknown${default}"
|
|
fi
|
|
if [ -n "${memusedmb}" ]; then
|
|
echo -e "${lightblue}Mem Used:\t${default}${memusedpct}%\t${memusedmb}MB${default}"
|
|
else
|
|
echo -e "${lightblue}Mem Used:\t${default}${memusedpct}\t${red}unknown${default}"
|
|
fi
|
|
else
|
|
echo -e "${lightblue}CPU Used:\t${default}0%${default}"
|
|
echo -e "${lightblue}Mem Used:\t${default}0%\t0MB${default}"
|
|
fi
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
{
|
|
echo -e "${bold}${lightyellow}Storage${default}"
|
|
echo -e "${lightblue}Total:\t${default}${rootdirdu}"
|
|
echo -e "${lightblue}Serverfiles:\t${default}${serverfilesdu}"
|
|
if [ -d "${backupdir}" ]; then
|
|
echo -e "${lightblue}Backups:\t${default}${backupdirdu}"
|
|
fi
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_gameserver() {
|
|
#
|
|
# Counter-Strike: Global Offensive Server Details
|
|
# =================================
|
|
# Server name: LinuxGSM
|
|
# Server IP: 0.0.0.0:27015
|
|
# Internet IP: 176.48.124.96:34197
|
|
# Server password: NOT SET
|
|
# RCON password: adminF54CC0VR
|
|
# Players: 0/16
|
|
# Current map: de_mirage
|
|
# Default map: de_mirage
|
|
# Game type: 0
|
|
# Game mode: 0
|
|
# Tick rate: 64
|
|
# Master Server: listed
|
|
# Status: STARTED
|
|
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Server Details${default}"
|
|
fn_info_messages_password_strip
|
|
fn_messages_separator
|
|
{
|
|
# Server name
|
|
if [ -n "${gdname}" ]; then
|
|
echo -e "${lightblue}Server name:\t${default}${gdname}"
|
|
elif [ -n "${servername}" ]; then
|
|
echo -e "${lightblue}Server name:\t${default}${servername}"
|
|
fi
|
|
|
|
# Server description
|
|
if [ -n "${serverdescription}" ]; then
|
|
echo -e "${lightblue}Server Description:\t${default}${serverdescription}"
|
|
fi
|
|
|
|
# Appid
|
|
if [ -n "${appid}" ]; then
|
|
echo -e "${lightblue}App ID:\t${default}${appid}"
|
|
fi
|
|
|
|
# Branch
|
|
if [ -n "${branch}" ]; then
|
|
echo -e "${lightblue}Branch:\t${default}${branch}"
|
|
fi
|
|
|
|
# Beta Password
|
|
if [ -n "${betapassword}" ]; then
|
|
echo -e "${lightblue}Beta Password:\t${default}${betapassword}"
|
|
fi
|
|
|
|
# Server Version
|
|
if [ -n "${gdversion}" ]; then
|
|
echo -e "${lightblue}Server Version:\t${default}${gdversion}"
|
|
fi
|
|
|
|
# Server ip
|
|
echo -e "${lightblue}Server IP:\t${default}${ip}:${port}"
|
|
|
|
# Internet ip
|
|
if [ -n "${publicip}" ]; then
|
|
if [ "${ip}" != "${publicip}" ]; then
|
|
echo -e "${lightblue}Internet IP:\t${default}${publicip}:${port}"
|
|
fi
|
|
fi
|
|
|
|
# Display ip
|
|
if [ -n "${displayip}" ]; then
|
|
echo -e "${lightblue}Display IP:\t${default}${displayip}:${port}"
|
|
fi
|
|
|
|
# Server password enabled (Craftopia)
|
|
if [ -n "${serverpasswordenabled}" ]; then
|
|
echo -e "${lightblue}Server password enabled:\t${default}${serverpasswordenabled}"
|
|
fi
|
|
|
|
# Server password
|
|
if [ -n "${serverpassword}" ]; then
|
|
echo -e "${lightblue}Server password:\t${default}${serverpassword}"
|
|
fi
|
|
|
|
# Query enabled (Starbound, Minecraft)
|
|
if [ -n "${queryenabled}" ]; then
|
|
echo -e "${lightblue}Query enabled:\t${default}${queryenabled}"
|
|
fi
|
|
|
|
# RCON enabled (Starbound)
|
|
if [ -n "${rconenabled}" ]; then
|
|
echo -e "${lightblue}RCON enabled:\t${default}${rconenabled}"
|
|
fi
|
|
|
|
# RCON password
|
|
if [ -n "${rconpassword}" ]; then
|
|
echo -e "${lightblue}RCON password:\t${default}${rconpassword}"
|
|
fi
|
|
|
|
# RCON web (Rust)
|
|
if [ -n "${rconweb}" ]; then
|
|
echo -e "${lightblue}RCON web:\t${default}${rconweb}"
|
|
fi
|
|
|
|
# Admin password
|
|
if [ -n "${adminpassword}" ]; then
|
|
echo -e "${lightblue}Admin password:\t${default}${adminpassword}"
|
|
fi
|
|
|
|
# Stats password (Quake Live)
|
|
if [ -n "${statspassword}" ]; then
|
|
echo -e "${lightblue}Stats password:\t${default}${statspassword}"
|
|
fi
|
|
|
|
# Players
|
|
if [ "${querystatus}" != "0" ]; then
|
|
if [ -n "${maxplayers}" ]; then
|
|
echo -e "${lightblue}Maxplayers:\t${default}${maxplayers}"
|
|
fi
|
|
else
|
|
if [ -n "${gdplayers}" ] && [ -n "${gdmaxplayers}" ]; then
|
|
echo -e "${lightblue}Players:\t${default}${gdplayers}/${gdmaxplayers}"
|
|
elif [ -n "${gdplayers}" ] && [ -n "${maxplayers}" ]; then
|
|
echo -e "${lightblue}Players:\t${default}${gdplayers}/${maxplayers}"
|
|
elif [ -z "${gdplayers}" ] && [ -n "${gdmaxplayers}" ]; then
|
|
echo -e "${lightblue}Players:\t${default}0/${gdmaxplayers}"
|
|
elif [ -n "${gdplayers}" ] && [ -z "${gdmaxplayers}" ]; then
|
|
echo -e "${lightblue}Players:\t${default}${gdplayers}/∞"
|
|
elif [ -z "${gdplayers}" ] && [ -z "${gdmaxplayers}" ] && [ -n "${maxplayers}" ]; then
|
|
echo -e "${lightblue}Maxplayers:\t${default}${maxplayers}"
|
|
fi
|
|
fi
|
|
|
|
# Reverved Slots
|
|
if [ -n "${statspassword}" ]; then
|
|
echo -e "${lightblue}Reserved Slots:\t${default}${reservedslots}"
|
|
fi
|
|
|
|
# Bots
|
|
if [ -n "${gdbots}" ]; then
|
|
echo -e "${lightblue}Bots:\t${default}${gdbots}"
|
|
fi
|
|
|
|
# Current map
|
|
if [ -n "${gdmap}" ]; then
|
|
echo -e "${lightblue}Current map:\t${default}${gdmap}"
|
|
fi
|
|
|
|
# Default map
|
|
if [ -n "${defaultmap}" ]; then
|
|
echo -e "${lightblue}Default map:\t${default}${defaultmap}"
|
|
fi
|
|
|
|
if [ -n "${defaultscenario}" ]; then
|
|
# Current scenario (Insurgency: Sandstorm)
|
|
if [ -n "${gdgamemode}" ]; then
|
|
echo -e "${lightblue}Current scenario:\t${default}${gdgamemode}"
|
|
fi
|
|
else
|
|
# Current game mode
|
|
if [ -n "${gdgamemode}" ]; then
|
|
echo -e "${lightblue}Current game mode:\t${default}${gdgamemode}"
|
|
fi
|
|
fi
|
|
|
|
# Default scenario
|
|
if [ -n "${defaultscenario}" ]; then
|
|
echo -e "${lightblue}Default scenario:\t${default}${defaultscenario}"
|
|
fi
|
|
|
|
# Game type
|
|
if [ -n "${gametype}" ]; then
|
|
echo -e "${lightblue}Game type:\t${default}${gametype}"
|
|
fi
|
|
|
|
# Game mode
|
|
if [ -n "${gamemode}" ]; then
|
|
echo -e "${lightblue}Game mode:\t${default}${gamemode}"
|
|
fi
|
|
|
|
# Game world
|
|
if [ -n "${gameworld}" ]; then
|
|
echo -e "${lightblue}Game world:\t${default}${gameworld}"
|
|
fi
|
|
|
|
# Tick rate
|
|
if [ -n "${tickrate}" ]; then
|
|
echo -e "${lightblue}Tick rate:\t${default}${tickrate}"
|
|
fi
|
|
|
|
# Sharding (Don't Starve Together)
|
|
if [ -n "${sharding}" ]; then
|
|
echo -e "${lightblue}Sharding:\t${default}${sharding}"
|
|
fi
|
|
|
|
# Master (Don't Starve Together)
|
|
if [ -n "${master}" ]; then
|
|
echo -e "${lightblue}Master:\t${default}${master}"
|
|
fi
|
|
|
|
# Shard (Don't Starve Together)
|
|
if [ -n "${shard}" ]; then
|
|
echo -e "${lightblue}Shard:\t${default}${shard}"
|
|
fi
|
|
|
|
# Cluster (Don't Starve Together)
|
|
if [ -n "${cluster}" ]; then
|
|
echo -e "${lightblue}Cluster:\t${default}${cluster}"
|
|
fi
|
|
|
|
# Cave (Don't Starve Together)
|
|
if [ -n "${cave}" ]; then
|
|
echo -e "${lightblue}Cave:\t${default}${cave}"
|
|
fi
|
|
|
|
# Creativemode (Hurtworld)
|
|
if [ -n "${creativemode}" ]; then
|
|
echo -e "${lightblue}Creativemode:\t${default}${creativemode}"
|
|
fi
|
|
|
|
# TeamSpeak dbplugin
|
|
if [ -n "${dbplugin}" ]; then
|
|
echo -e "${lightblue}dbplugin:\t${default}${dbplugin}"
|
|
fi
|
|
|
|
# ASE (Multi Theft Auto)
|
|
if [ -n "${ase}" ]; then
|
|
echo -e "${lightblue}ASE:\t${default}${ase}"
|
|
fi
|
|
|
|
# Save interval (Rust)
|
|
if [ -n "${saveinterval}" ]; then
|
|
echo -e "${lightblue}Save interval:\t${default}${saveinterval}s"
|
|
fi
|
|
|
|
# Seed (Rust)
|
|
if [ -n "${seed}" ]; then
|
|
echo -e "${lightblue}Seed:\t${default}${seed}"
|
|
fi
|
|
|
|
# Salt (Rust)
|
|
if [ -n "${salt}" ]; then
|
|
echo -e "${lightblue}Salt:\t${default}${salt}"
|
|
fi
|
|
|
|
# World Size (Rust)
|
|
if [ -n "${worldsize}" ]; then
|
|
echo -e "${lightblue}World size:\t${default}${worldsize}m"
|
|
fi
|
|
|
|
# Random map rotation mode (Squad and Post Scriptum)
|
|
if [ -n "${randommap}" ]; then
|
|
echo -e "${lightblue}Map rotation:\t${default}${randommap}"
|
|
fi
|
|
|
|
# Server Version (Jedi Knight II: Jedi Outcast)
|
|
if [ -n "${serverversion}" ]; then
|
|
echo -e "${lightblue}Server Version:\t${default}${serverversion}"
|
|
fi
|
|
|
|
# authentication token (Factorio)
|
|
if [ -n "${authtoken}" ]; then
|
|
echo -e "${lightblue}Auth Token:\t${default}${authtoken}"
|
|
fi
|
|
|
|
# savegameinterval (Factorio)
|
|
if [ -n "${savegameinterval}" ]; then
|
|
echo -e "${lightblue}Savegame Interval:\t${default}${savegameinterval}"
|
|
fi
|
|
|
|
# versioncount (Factorio)
|
|
if [ -n "${versioncount}" ]; then
|
|
echo -e "${lightblue}Version Count:\t${default}${versioncount}"
|
|
fi
|
|
|
|
# backupinterval (Soulmask)
|
|
if [ -n "${backupinterval}" ]; then
|
|
echo -e "${lightblue}Backup Interval:\t${default}${backupinterval}"
|
|
fi
|
|
|
|
# Listed on Master server
|
|
if [ -n "${displaymasterserver}" ]; then
|
|
if [ "${displaymasterserver}" == "true" ]; then
|
|
echo -e "${lightblue}Master server:\t${green}listed${default}"
|
|
else
|
|
echo -e "${lightblue}Master server:\t${red}not listed${default}"
|
|
fi
|
|
fi
|
|
|
|
# Game server status
|
|
if [ "${status}" == "0" ]; then
|
|
echo -e "${lightblue}Status:\t${red}STOPPED${default}"
|
|
else
|
|
echo -e "${lightblue}Status:\t${green}STARTED${default}"
|
|
fi
|
|
|
|
# ismygameserver.online
|
|
if [ -n "${querytype}" ]; then
|
|
echo -e "${lightblue}Query Check:\t${default}https://ismygameserver.online/${imgsoquerytype}/${alertip}:${queryport}"
|
|
fi
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
}
|
|
|
|
fn_info_messages_script() {
|
|
# csgoserver Script Details
|
|
# =================================
|
|
# Script name: csgoserver
|
|
# LinuxGSM version: v21.1.3
|
|
# glibc required: 2.18
|
|
# Discord alert: off
|
|
# Email alert: off
|
|
# Gotify alert: off
|
|
# IFTTT alert: off
|
|
# Pushbullet alert: off
|
|
# Pushover alert: off
|
|
# Rocketchat alert: off
|
|
# Slack alert: off
|
|
# Telegram alert: off
|
|
# Update on start: off
|
|
# User: lgsm
|
|
# Location: /home/lgsm/csgoserver
|
|
# Config file: /home/lgsm/csgoserver/serverfiles/csgo/cfg/csgoserver.cfg
|
|
|
|
echo -e "${bold}${lightgreen}${selfname} Script Details${default}"
|
|
fn_messages_separator
|
|
{
|
|
# Script name
|
|
echo -e "${lightblue}Script name:\t${default}${selfname}"
|
|
|
|
# LinuxGSM version
|
|
if [ -n "${version}" ]; then
|
|
echo -e "${lightblue}LinuxGSM version:\t${default}${version}"
|
|
fi
|
|
|
|
# glibc required
|
|
if [ -n "${glibc}" ]; then
|
|
if [ "${glibc}" == "null" ]; then
|
|
# Glibc is not required.
|
|
:
|
|
elif [ -z "${glibc}" ]; then
|
|
echo -e "${lightblue}glibc required:\t${red}UNKNOWN${default}"
|
|
elif [ "$(printf '%s\n'${glibc}'\n' ${glibcversion} | sort -V | head -n 1)" != "${glibc}" ]; then
|
|
echo -e "${lightblue}glibc required:\t${red}${glibc} ${default}(${red}distro glibc ${glibcversion} too old${default})"
|
|
else
|
|
echo -e "${lightblue}glibc required:\t${green}${glibc}${default}"
|
|
fi
|
|
fi
|
|
|
|
# Discord alert
|
|
if [ "${discordalert}" == "on" ]; then
|
|
echo -e "${lightblue}Discord alert:\t${default}${discordalert}"
|
|
fi
|
|
# Email alert
|
|
if [ "${emailalert}" == "on" ]; then
|
|
echo -e "${lightblue}Email alert:\t${default}${emailalert}"
|
|
fi
|
|
# Gotify alert
|
|
if [ "${gotifyalert}" == "on" ]; then
|
|
echo -e "${lightblue}Gotify alert:\t${default}${gotifyalert}"
|
|
fi
|
|
# IFTTT alert
|
|
echo -e "${lightblue}IFTTT alert:\t${default}${iftttalert}"
|
|
# Pushbullet alert
|
|
if [ "${pushbulletalert}" == "on" ]; then
|
|
echo -e "${lightblue}Pushbullet alert:\t${default}${pushbulletalert}"
|
|
fi
|
|
# Pushover alert
|
|
if [ "${pushoveralert}" == "on" ]; then
|
|
echo -e "${lightblue}Pushover alert:\t${default}${pushoveralert}"
|
|
fi
|
|
# Rocketchat alert
|
|
if [ "${rocketchatalert}" == "on" ]; then
|
|
echo -e "${lightblue}Rocketchat alert:\t${default}${rocketchatalert}"
|
|
fi
|
|
# Slack alert
|
|
if [ "${slackalert}" == "on" ]; then
|
|
echo -e "${lightblue}Slack alert:\t${default}${slackalert}"
|
|
fi
|
|
# Telegram alert
|
|
if [ "${telegramalert}" == "on" ]; then
|
|
echo -e "${lightblue}Telegram alert:\t${default}${telegramalert}"
|
|
fi
|
|
|
|
# Update on start
|
|
if [ -n "${updateonstart}" ]; then
|
|
echo -e "${lightblue}Update on start:\t${default}${updateonstart}"
|
|
fi
|
|
|
|
# User
|
|
echo -e "${lightblue}User:\t${default}$(whoami)"
|
|
|
|
# Script location
|
|
echo -e "${lightblue}Location:\t${default}${rootdir}"
|
|
|
|
# Config file location
|
|
if [ -n "${servercfgfullpath}" ]; then
|
|
if [ -f "${servercfgfullpath}" ]; then
|
|
echo -e "${lightblue}Config file:\t${default}${servercfgfullpath}"
|
|
elif [ -d "${servercfgfullpath}" ]; then
|
|
echo -e "${lightblue}Config dir:\t${default}${servercfgfullpath}"
|
|
else
|
|
echo -e "${lightblue}Config file:\t${default}${red}${servercfgfullpath}${default} (${red}FILE MISSING${default})"
|
|
fi
|
|
fi
|
|
|
|
# Network config file location (ARMA 3)
|
|
if [ -n "${networkcfgfullpath}" ]; then
|
|
echo -e "${lightblue}Network config file:\t${default}${networkcfgfullpath}"
|
|
fi
|
|
|
|
# Cluster config file location (DST)
|
|
if [ -n "${clustercfgfullpath}" ]; then
|
|
echo -e "${lightblue}Cluster config file:\t${default}${clustercfgfullpath}"
|
|
fi
|
|
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_backup() {
|
|
#
|
|
# Backups
|
|
# =================================
|
|
# No. of backups: 1
|
|
# Latest backup:
|
|
# date: Fri May 6 18:34:19 UTC 2016
|
|
# file: /home/lgsm/qlserver/backups/ql-server-2016-05-06-183239.tar.gz
|
|
# size: 945M
|
|
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}Backups${default}"
|
|
fn_messages_separator
|
|
if [ ! -d "${backupdir}" ] || [ "${backupcount}" == "0" ]; then
|
|
echo -e "No Backups created"
|
|
else
|
|
{
|
|
echo -e "${lightblue}No. of backups:\t${default}${backupcount}"
|
|
echo -e "${lightblue}Latest backup:${default}"
|
|
if [ "${lastbackupdaysago}" == "0" ]; then
|
|
echo -e "${lightblue} date:\t${default}${lastbackupdate} (less than 1 day ago)"
|
|
elif [ "${lastbackupdaysago}" == "1" ]; then
|
|
echo -e "${lightblue} date:\t${default}${lastbackupdate} (1 day ago)"
|
|
else
|
|
echo -e "${lightblue} date:\t${default}${lastbackupdate} (${lastbackupdaysago} days ago)"
|
|
fi
|
|
echo -e "${lightblue} file:\t${default}${lastbackup}"
|
|
echo -e "${lightblue} size:\t${default}${lastbackupsize}"
|
|
} | column -s $'\t' -t
|
|
fi
|
|
}
|
|
|
|
fn_info_messages_commandlineparms() {
|
|
#
|
|
# Command-line Parameters
|
|
# =================================
|
|
# ./run_server_x86.sh +set net_strict 1
|
|
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}Command-line Parameters${default}"
|
|
fn_info_messages_password_strip
|
|
fn_messages_separator
|
|
if [ "${serverpassword}" == "NOT SET" ]; then
|
|
unset serverpassword
|
|
fi
|
|
fn_reload_startparameters
|
|
echo -e "${preexecutable} ${executable} ${startparameters}"
|
|
}
|
|
|
|
fn_info_messages_ports_edit() {
|
|
#
|
|
# Ports
|
|
# =================================
|
|
# Change ports by editing the parameters in:
|
|
# /home/lgsm/qlserver/serverfiles/baseq3/ql-server.cfg
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}Ports${default}"
|
|
fn_messages_separator
|
|
echo -e "${lightblue}Change ports by editing the parameters in:${default}"
|
|
|
|
startparameterslocation="${red}UNKNOWN${default}"
|
|
# engines/games that require editing in the config file.
|
|
local ports_edit_array=("ac" "arma3" "armar" "bo" "bt" "ct" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "nec" "pc" "pc2" "prism3d" "pz" "qw" "refractor" "renderware" "rw" "sb" "sdtd" "st" "stn" "ts3" "tw" "terraria" "unreal" "unreal2" "unreal3" "vints" "xnt" "wurm")
|
|
for port_edit in "${ports_edit_array[@]}"; do
|
|
if [ "${shortname}" == "ut3" ]; then
|
|
startparameterslocation="${servercfgdir}/UTWeb.ini"
|
|
elif [ "${shortname}" == "kf2" ]; then
|
|
startparameterslocation="${servercfgdir}/LinuxServer-KFEngine.ini\n${servercfgdir}/KFWeb.ini"
|
|
elif [ "${engine}" == "${port_edit}" ] || [ "${gamename}" == "${port_edit}" ] || [ "${shortname}" == "${port_edit}" ]; then
|
|
startparameterslocation="${servercfgfullpath}"
|
|
fi
|
|
done
|
|
# engines/games that require editing the start parameters.
|
|
local ports_edit_array=("av" "ck" "col" "cs2" "fctr" "goldsrc" "hcu" "hw" "iw3.0" "ioquake3" "pw" "qfusion" "rust" "scpsl" "scpslsm" "sf" "sol" "spark" "source" "unreal4" "arma3" "dayz" "unt" "vh")
|
|
for port_edit in "${ports_edit_array[@]}"; do
|
|
if [ "${engine}" == "${port_edit}" ] || [ "${gamename}" == "${port_edit}" ] || [ "${shortname}" == "${port_edit}" ]; then
|
|
startparameterslocation="${configdirserver}"
|
|
fi
|
|
done
|
|
echo -e "${startparameterslocation}"
|
|
echo -e ""
|
|
}
|
|
|
|
fn_info_messages_ports() {
|
|
echo -e "${lightblue}Useful port diagnostic command:${default}"
|
|
if [ "${shortname}" == "armar" ]; then
|
|
portcommand="ss -tuplwn | grep enfMain"
|
|
elif [ "${shortname}" == "av" ]; then
|
|
portcommand="ss -tuplwn | grep AvorionServer"
|
|
elif [ "${shortname}" == "bf1942" ]; then
|
|
portcommand="ss -tuplwn | grep bf1942_lnxded"
|
|
elif [ "${shortname}" == "bfv" ]; then
|
|
portcommand="ss -tuplwn | grep bfv_linded"
|
|
elif [ "${shortname}" == "dayz" ]; then
|
|
portcommand="ss -tuplwn | grep enfMain"
|
|
elif [ "${shortname}" == "q4" ]; then
|
|
portcommand="ss -tuplwn | grep q4ded.x86"
|
|
elif [ "${shortname}" == "mc" ] || [ "${shortname}" == "nec" ] || [ "${shortname}" == "pmc" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then
|
|
portcommand="ss -tuplwn | grep java"
|
|
elif [ "${shortname}" == "terraria" ]; then
|
|
portcommand="ss -tuplwn | grep Main"
|
|
elif [ "${shortname}" == "sm" ]; then
|
|
portcommand="ss -tuplwn | grep WSServer-Linux"
|
|
elif [ "${engine}" == "source" ]; then
|
|
portcommand="ss -tuplwn | grep srcds_linux"
|
|
elif [ "${engine}" == "goldsrc" ]; then
|
|
portcommand="ss -tuplwn | grep hlds_linux"
|
|
else
|
|
executableshort="$(basename "${executable}" | cut -c -15)"
|
|
portcommand="ss -tuplwn | grep ${executableshort}"
|
|
fi
|
|
echo -e "${portcommand}"
|
|
echo -e ""
|
|
}
|
|
|
|
fn_info_messages_statusbottom() {
|
|
echo -e ""
|
|
if [ "${status}" == "0" ]; then
|
|
echo -e "${lightblue}Status:\t${red}STOPPED${default}"
|
|
else
|
|
echo -e "${lightblue}Status:\t${green}STARTED${default}"
|
|
fi
|
|
echo -e ""
|
|
}
|
|
|
|
fn_info_logs() {
|
|
echo -e ""
|
|
echo -e "${bold}${selfname} Logs"
|
|
fn_messages_separator
|
|
|
|
if [ -n "${lgsmlog}" ]; then
|
|
echo -e "\nScript log\n==================="
|
|
if [ ! "$(ls -A "${lgsmlogdir}")" ]; then
|
|
echo -e "${lgsmlogdir} (NO LOG FILES)"
|
|
elif [ ! -s "${lgsmlog}" ]; then
|
|
echo -e "${lgsmlog} (LOG FILE IS EMPTY)"
|
|
else
|
|
echo -e "${lgsmlog}"
|
|
tail -25 "${lgsmlog}"
|
|
fi
|
|
echo -e ""
|
|
fi
|
|
|
|
if [ -n "${consolelog}" ]; then
|
|
echo -e "\nConsole log\n===================="
|
|
if [ ! "$(ls -A "${consolelogdir}")" ]; then
|
|
echo -e "${consolelogdir} (NO LOG FILES)"
|
|
elif [ ! -s "${consolelog}" ]; then
|
|
echo -e "${consolelog} (LOG FILE IS EMPTY)"
|
|
else
|
|
echo -e "${consolelog}"
|
|
tail -25 "${consolelog}" | awk '{ sub("\r$", ""); print }'
|
|
fi
|
|
echo -e ""
|
|
fi
|
|
|
|
if [ -n "${gamelogdir}" ]; then
|
|
echo -e "\nServer log\n==================="
|
|
if [ ! "$(ls -A "${gamelogdir}")" ]; then
|
|
echo -e "${gamelogdir} (NO LOG FILES)"
|
|
else
|
|
echo -e "${gamelogdir}"
|
|
# dos2unix sed 's/\r//'
|
|
tail "${gamelogdir}"/* 2> /dev/null | grep -av "==>" | sed '/^$/d' | sed 's/\r//' | tail -25
|
|
fi
|
|
echo -e ""
|
|
fi
|
|
}
|
|
|
|
# Engine/Game Specific details
|
|
|
|
# Function used to generate port info. by passing info to function. (Reduces repeating code)
|
|
# example output
|
|
# DESCRIPTION PORT PROTOCOL LISTEN
|
|
# Game 7777 udp 1
|
|
# RAW UDP Socket 7778 udp 1
|
|
# Query 27015 udp 1
|
|
# RCON 27020 tcp 1
|
|
|
|
fn_port() {
|
|
if [ "${1}" == "header" ]; then
|
|
echo -e "${lightblue}DESCRIPTION\tPORT\tPROTOCOL\tLISTEN${default}"
|
|
else
|
|
portname="${1}"
|
|
porttype="${2}"
|
|
portprotocol="${3}"
|
|
echo -e "${portname}\t${!porttype}\t${portprotocol}\t$(echo "${ssinfo}" | grep "${portprotocol}" | grep -c "${!porttype}")"
|
|
fi
|
|
}
|
|
|
|
fn_info_messages_ac() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Game" port tcp
|
|
fn_port "Query" queryport udp
|
|
fn_port "HTTP" httpport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ark() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "RAW UDP Socket" rawport udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_arma3() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Voice" voiceport udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Steam" steamport udp
|
|
fn_port "Voice (unused)" voiceunusedport udp
|
|
fn_port "BattleEye" battleeyeport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_armar() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "BattleEye" battleeyeport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_av() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Steam" steamport udp
|
|
fn_port "Steamworks P2P" steamworksport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_bf1942() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_bfv() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_bo() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_bt() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_btl() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_cd() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Steam" steamport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ck() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_cmw() {
|
|
fn_info_messages_password_strip
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_cod() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_coduo() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_cod2() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_cod4() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_codwaw() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_col() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "Steam" steamport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_cs2() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_csgo() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "RCON" rconport tcp
|
|
fn_port "SourceTV" sourcetvport udp
|
|
fn_port "Client" clientport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ct() {
|
|
fn_info_messages_password_strip
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_dayz() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query Steam" queryport udp
|
|
fn_port "Steam" steamport udp
|
|
fn_port "BattleEye" battleeyeport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_dodr() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_dst() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game: Server" port udp
|
|
fn_port "Game: Master" masterport udp
|
|
fn_port "Steam" steamport udp
|
|
fn_port "Steam: Auth" steamauthport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_eco() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Web Interface" httpport tcp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_etl() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_fctr() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_goldsrc() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "Client" clientport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_hcu() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_hw() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_hz() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ins() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "RCON" rconport tcp
|
|
fn_port "SourceTV" sourcetvport udp
|
|
fn_port "Client" clientport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_inss() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_jc2() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_jc3() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Steam" steamport udp
|
|
fn_port "HTTP" httpport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_jk2() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_kf() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query - Steam" queryport udp
|
|
fn_port "Query - Unreal 2" unreal2queryport udp
|
|
fn_port "Query - Gamespy" gamespyqueryport udp
|
|
fn_port "Web Interface" httpport tcp
|
|
fn_port "LAN" lanport udp
|
|
fn_port "Steam" steamport udp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${servername} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface enabled:\t${default}${httpenabled}"
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}"
|
|
echo -e "${lightblue}Web Interface username:\t${default}${httpuser}"
|
|
echo -e "${lightblue}Web Interface password:\t${default}${httppassword}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_kf2() {
|
|
fn_info_messages_password_strip
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Web Interface" httpport tcp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${servername} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface enabled:\t${default}${httpenabled}"
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}"
|
|
echo -e "${lightblue}Web Interface username:\t${default}${httpuser}"
|
|
echo -e "${lightblue}Web Interface password:\t${default}${httppassword}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_mc() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port tcp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_mcb() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Game" portipv6 udp6
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_mh() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Beacon" beaconport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_mohaa() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_mta() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
if [ "${ase}" == "Enabled" ]; then
|
|
fn_port "Query" queryport udp
|
|
fi
|
|
fn_port "HTTP" httpport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_nec() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ohd() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_onset() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "HTTP" httpport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_pc() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Steam" steamport udp
|
|
fn_port "HTTP" httpport tcp
|
|
fn_port "API" apiport tcp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface enabled:\t${default}${httpenabled}"
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_pc2() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Steam" steamport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ps() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_pvr() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Game" port tcp
|
|
fn_port "Game+400" port401 udp
|
|
fn_port "Query" queryport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_pw() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Steam" steamport udp
|
|
fn_port "Unknown" unknownport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_pz() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_qw() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_q2() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_q3() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_q4() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ql() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
fn_port "Stats" statsport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ro() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query - Steam" queryport udp
|
|
fn_port "Query - Unreal 2" unreal2queryport udp
|
|
fn_port "Web Interface" httpport tcp
|
|
fn_port "LAN" lanport udp
|
|
fn_port "Steam" steamport udp
|
|
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${servername} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface enabled:\t${default}${httpenabled}"
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}"
|
|
echo -e "${lightblue}Web Interface username:\t${default}${httpuser}"
|
|
echo -e "${lightblue}Web Interface password:\t${default}${httppassword}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_rtcw() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_rust() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
fn_port "App" appport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_rw() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_samp() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "RCON" rconport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_sb() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_sbots() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_scpsl() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_sdtd() {
|
|
fn_info_messages_password_strip
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Game+2" port3 udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "Web Interface" httpport tcp
|
|
fn_port "Telnet" telnetport tcp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface enabled:\t${default}${httpenabled}"
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}/index.html"
|
|
echo -e "${lightblue}Web Interface password:\t${default}${httppassword}"
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Telnet${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Telnet enabled:\t${default}${telnetenabled}"
|
|
echo -e "${lightblue}Telnet address:\t${default}${telnetip} ${telnetport}"
|
|
echo -e "${lightblue}Telnet password:\t${default}${telnetpassword}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_sf() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Beacon" beaconport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_sm() {
|
|
fn_info_messages_password_strip
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Game" port tcp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Telnet" telnetport tcp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Telnet${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Telnet enabled:\t${default}${telnetenabled}"
|
|
echo -e "${lightblue}Telnet address:\t${default}${telnetip} ${telnetport}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_sof2() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_sol() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Files" filesport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_prism3d() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_source() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "RCON" rconport tcp
|
|
fn_port "SourceTV" sourcetvport udp
|
|
# Will not show if unavailable
|
|
if [ "${steamport}" == "0" ] || [ -v "${steamport}" ]; then
|
|
fn_port "Steam" steamport udp
|
|
fi
|
|
fn_port "Client" clientport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_spark() {
|
|
fn_info_messages_password_strip
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Mod Server" modserverport tcp
|
|
fn_port "Web Interface" httpport tcp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}/index.html"
|
|
echo -e "${lightblue}Web Interface username:\t${default}${httpuser}"
|
|
echo -e "${lightblue}Web Interface password:\t${default}${httppassword}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_squad() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_st() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_stn() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ti() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Queue" queueport tcp
|
|
fn_port "RCON" rconport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ts3() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Voice" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "Query (SSH)" sshqueryport tcp
|
|
fn_port "Query (http)" httpqueryport tcp
|
|
fn_port "Query (https)" httpsqueryport tcp
|
|
fn_port "File Transfer" fileport tcp
|
|
fn_port "Telnet" telnetport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_tw() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_terraria() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port tcp
|
|
fn_port "Query" queryport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_tu() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Steam" steamport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_tf() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport tcp
|
|
fn_port "Beacon" beaconport udp
|
|
fn_port "Shutdown" shutdownport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ut2k4() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query - Unreal 2" queryport udp
|
|
fn_port "Query - Gamespy" gamespyqueryport udp
|
|
fn_port "Web Interface" httpport tcp
|
|
fn_port "LAN" lanport udp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface enabled:\t${default}${httpenabled}"
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}"
|
|
echo -e "${lightblue}Web Interface username:\t${default}${httpuser}"
|
|
echo -e "${lightblue}Web Interface password:\t${default}${httppassword}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_unreal() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "LAN Beacon" beaconport udp
|
|
fn_port "Web Interface" httpport tcp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface enabled:\t${default}${httpenabled}"
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}"
|
|
echo -e "${lightblue}Web Interface username:\t${default}${httpuser}"
|
|
echo -e "${lightblue}Web Interface password:\t${default}${httppassword}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_unt() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Steam" steamport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ut() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_ut3() {
|
|
fn_info_messages_password_strip
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
fn_port "Web Interface" httpport tcp
|
|
} | column -s $'\t' -t
|
|
echo -e ""
|
|
echo -e "${bold}${lightgreen}${gamename} Web Interface${default}"
|
|
fn_messages_separator
|
|
{
|
|
echo -e "${lightblue}Web Interface enabled:\t${default}${httpenabled}"
|
|
echo -e "${lightblue}Web Interface url:\t${default}http://${httpip}:${httpport}"
|
|
echo -e "${lightblue}Web Interface username:\t${default}${httpuser}"
|
|
echo -e "${lightblue}Web Interface password:\t${default}${httppassword}"
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_vh() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_vints() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_vpmc() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_wet() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_wf() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "HTTP" httpport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_wurm() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port tcp
|
|
fn_port "Query" queryport udp
|
|
fn_port "RMI" rmiport tcp
|
|
fn_port "RMI Registry" rmiregport tcp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_xnt() {
|
|
{
|
|
fn_port "header"
|
|
fn_port "Game" port udp
|
|
fn_port "Query" queryport udp
|
|
} | column -s $'\t' -t
|
|
}
|
|
|
|
fn_info_messages_select_engine() {
|
|
# Display details depending on game or engine.
|
|
if [ "${shortname}" == "ac" ]; then
|
|
fn_info_messages_ac
|
|
elif [ "${shortname}" == "ark" ]; then
|
|
fn_info_messages_ark
|
|
elif [ "${shortname}" == "arma3" ]; then
|
|
fn_info_messages_arma3
|
|
elif [ "${shortname}" == "armar" ]; then
|
|
fn_info_messages_armar
|
|
elif [ "${shortname}" == "av" ]; then
|
|
fn_info_messages_av
|
|
elif [ "${shortname}" == "bf1942" ]; then
|
|
fn_info_messages_bf1942
|
|
elif [ "${shortname}" == "bfv" ]; then
|
|
fn_info_messages_bfv
|
|
elif [ "${shortname}" == "bo" ]; then
|
|
fn_info_messages_bo
|
|
elif [ "${shortname}" == "bt" ]; then
|
|
fn_info_messages_bt
|
|
elif [ "${shortname}" == "btl" ]; then
|
|
fn_info_messages_btl
|
|
elif [ "${shortname}" == "ck" ]; then
|
|
fn_info_messages_ck
|
|
elif [ "${shortname}" == "cs2" ]; then
|
|
fn_info_messages_cs2
|
|
elif [ "${shortname}" == "csgo" ]; then
|
|
fn_info_messages_csgo
|
|
elif [ "${shortname}" == "cmw" ]; then
|
|
fn_info_messages_cmw
|
|
elif [ "${shortname}" == "cod" ]; then
|
|
fn_info_messages_cod
|
|
elif [ "${shortname}" == "coduo" ]; then
|
|
fn_info_messages_coduo
|
|
elif [ "${shortname}" == "cod2" ]; then
|
|
fn_info_messages_cod2
|
|
elif [ "${shortname}" == "cod4" ]; then
|
|
fn_info_messages_cod4
|
|
elif [ "${shortname}" == "codwaw" ]; then
|
|
fn_info_messages_codwaw
|
|
elif [ "${shortname}" == "col" ]; then
|
|
fn_info_messages_col
|
|
elif [ "${shortname}" == "ct" ]; then
|
|
fn_info_messages_ct
|
|
elif [ "${shortname}" == "dayz" ]; then
|
|
fn_info_messages_dayz
|
|
elif [ "${shortname}" == "dodr" ]; then
|
|
fn_info_messages_dodr
|
|
elif [ "${shortname}" == "dst" ]; then
|
|
fn_info_messages_dst
|
|
elif [ "${shortname}" == "eco" ]; then
|
|
fn_info_messages_eco
|
|
elif [ "${shortname}" == "etl" ]; then
|
|
fn_info_messages_etl
|
|
elif [ "${shortname}" == "fctr" ]; then
|
|
fn_info_messages_fctr
|
|
elif [ "${shortname}" == "hcu" ]; then
|
|
fn_info_messages_hcu
|
|
elif [ "${shortname}" == "hw" ]; then
|
|
fn_info_messages_hw
|
|
elif [ "${shortname}" == "hz" ]; then
|
|
fn_info_messages_hz
|
|
elif [ "${shortname}" == "ins" ]; then
|
|
fn_info_messages_ins
|
|
elif [ "${shortname}" == "inss" ]; then
|
|
fn_info_messages_inss
|
|
elif [ "${shortname}" == "jc2" ]; then
|
|
fn_info_messages_jc2
|
|
elif [ "${shortname}" == "jc3" ]; then
|
|
fn_info_messages_jc3
|
|
elif [ "${shortname}" == "jk2" ]; then
|
|
fn_info_messages_jk2
|
|
elif [ "${shortname}" == "kf" ]; then
|
|
fn_info_messages_kf
|
|
elif [ "${shortname}" == "kf2" ]; then
|
|
fn_info_messages_kf2
|
|
elif [ "${shortname}" == "mc" ] || [ "${shortname}" == "pmc" ] || [ "${shortname}" == "wmc" ]; then
|
|
fn_info_messages_mc
|
|
elif [ "${shortname}" == "mcb" ]; then
|
|
fn_info_messages_mcb
|
|
elif [ "${shortname}" == "mh" ]; then
|
|
fn_info_messages_mh
|
|
elif [ "${shortname}" == "mohaa" ]; then
|
|
fn_info_messages_mohaa
|
|
elif [ "${shortname}" == "mta" ]; then
|
|
fn_info_messages_mta
|
|
elif [ "${shortname}" == "nec" ]; then
|
|
fn_info_messages_nec
|
|
elif [ "${shortname}" == "ohd" ]; then
|
|
fn_info_messages_ohd
|
|
elif [ "${shortname}" == "onset" ]; then
|
|
fn_info_messages_onset
|
|
elif [ "${shortname}" == "pc" ]; then
|
|
fn_info_messages_pc
|
|
elif [ "${shortname}" == "pc2" ]; then
|
|
fn_info_messages_pc2
|
|
elif [ "${shortname}" == "squad44" ]; then
|
|
fn_info_messages_ps
|
|
elif [ "${shortname}" == "pvr" ]; then
|
|
fn_info_messages_pvr
|
|
elif [ "${shortname}" == "pw" ]; then
|
|
fn_info_messages_pw
|
|
elif [ "${shortname}" == "pz" ]; then
|
|
fn_info_messages_pz
|
|
elif [ "${shortname}" == "q2" ]; then
|
|
fn_info_messages_q2
|
|
elif [ "${shortname}" == "q3" ]; then
|
|
fn_info_messages_q3
|
|
elif [ "${shortname}" == "q4" ]; then
|
|
fn_info_messages_q3
|
|
elif [ "${shortname}" == "ql" ]; then
|
|
fn_info_messages_ql
|
|
elif [ "${shortname}" == "qw" ]; then
|
|
fn_info_messages_qw
|
|
elif [ "${shortname}" == "ro" ]; then
|
|
fn_info_messages_ro
|
|
elif [ "${shortname}" == "rtcw" ]; then
|
|
fn_info_messages_rtcw
|
|
elif [ "${shortname}" == "samp" ]; then
|
|
fn_info_messages_samp
|
|
elif [ "${shortname}" == "sb" ]; then
|
|
fn_info_messages_sb
|
|
elif [ "${shortname}" == "sbots" ]; then
|
|
fn_info_messages_sbots
|
|
elif [ "${shortname}" == "scpsl" ] || [ "${shortname}" == "scpslsm" ]; then
|
|
fn_info_messages_scpsl
|
|
elif [ "${shortname}" == "sdtd" ]; then
|
|
fn_info_messages_sdtd
|
|
elif [ "${shortname}" == "sf" ]; then
|
|
fn_info_messages_sf
|
|
elif [ "${shortname}" == "sm" ]; then
|
|
fn_info_messages_sm
|
|
elif [ "${shortname}" == "sof2" ]; then
|
|
fn_info_messages_sof2
|
|
elif [ "${shortname}" == "sol" ]; then
|
|
fn_info_messages_sol
|
|
elif [ "${shortname}" == "squad" ]; then
|
|
fn_info_messages_squad
|
|
elif [ "${shortname}" == "st" ]; then
|
|
fn_info_messages_st
|
|
elif [ "${shortname}" == "stn" ]; then
|
|
fn_info_messages_stn
|
|
elif [ "${shortname}" == "terraria" ]; then
|
|
fn_info_messages_terraria
|
|
elif [ "${shortname}" == "tf" ]; then
|
|
fn_info_messages_tf
|
|
elif [ "${shortname}" == "ti" ]; then
|
|
fn_info_messages_ti
|
|
elif [ "${shortname}" == "ts3" ]; then
|
|
fn_info_messages_ts3
|
|
elif [ "${shortname}" == "tu" ]; then
|
|
fn_info_messages_tu
|
|
elif [ "${shortname}" == "tw" ]; then
|
|
fn_info_messages_tw
|
|
elif [ "${shortname}" == "unt" ]; then
|
|
fn_info_messages_unt
|
|
elif [ "${shortname}" == "vh" ]; then
|
|
fn_info_messages_vh
|
|
elif [ "${shortname}" == "vints" ]; then
|
|
fn_info_messages_vints
|
|
elif [ "${shortname}" == "rust" ]; then
|
|
fn_info_messages_rust
|
|
elif [ "${shortname}" == "rw" ]; then
|
|
fn_info_messages_rw
|
|
elif [ "${shortname}" == "ut" ]; then
|
|
fn_info_messages_ut
|
|
elif [ "${shortname}" == "ut2k4" ]; then
|
|
fn_info_messages_ut2k4
|
|
elif [ "${shortname}" == "ut3" ]; then
|
|
fn_info_messages_ut3
|
|
elif [ "${shortname}" == "vpmc" ]; then
|
|
fn_info_messages_vpmc
|
|
elif [ "${shortname}" == "wet" ]; then
|
|
fn_info_messages_wet
|
|
elif [ "${shortname}" == "wf" ]; then
|
|
fn_info_messages_wf
|
|
elif [ "${shortname}" == "wurm" ]; then
|
|
fn_info_messages_wurm
|
|
elif [ "${shortname}" == "xnt" ]; then
|
|
fn_info_messages_xnt
|
|
elif [ "${engine}" == "goldsrc" ]; then
|
|
fn_info_messages_goldsrc
|
|
elif [ "${engine}" == "prism3d" ]; then
|
|
fn_info_messages_prism3d
|
|
elif [ "${engine}" == "source" ]; then
|
|
fn_info_messages_source
|
|
elif [ "${engine}" == "spark" ]; then
|
|
fn_info_messages_spark
|
|
elif [ "${engine}" == "unreal" ]; then
|
|
fn_info_messages_unreal
|
|
else
|
|
fn_print_error_nl "Unable to detect game server."
|
|
fi
|
|
}
|
|
|