diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg index 8274647f8..4c036d47e 100644 --- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg @@ -98,9 +98,6 @@ branch="" gamename="BrainBread 2" engine="source" -## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers -servicename="bb2-server" - #### Directories #### # Edit with care diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg index 45c637b12..449fa84ac 100644 --- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg +++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg @@ -77,9 +77,6 @@ logdays="7" gamename="Battlefield: 1942" engine="refractor" -## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers -servicename="bf1942-server" - #### Directories #### # Edit with care diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg index 5c0973bfc..68f813db3 100644 --- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg @@ -98,9 +98,6 @@ branch="" gamename="Black Mesa: Deathmatch" engine="source" -## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers -servicename="bmdm-server" - #### Directories #### # Edit with care diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg index fc806f72f..4de2c7cb2 100644 --- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg @@ -97,9 +97,6 @@ branch="" gamename="Blade Symphony" engine="source" -## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers -servicename="bs-server" - #### Directories #### # Edit with care diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg index b037479a6..898c48558 100644 --- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg @@ -93,9 +93,6 @@ branch="" gamename="Codename CURE" engine="source" -## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers -servicename="cc-server" - #### Directories #### # Edit with care diff --git a/lgsm/config-default/config-lgsm/coserver/_default.cfg b/lgsm/config-default/config-lgsm/coserver/_default.cfg index ce5dbd080..bcae9bffc 100644 --- a/lgsm/config-default/config-lgsm/coserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/coserver/_default.cfg @@ -121,9 +121,6 @@ steampass='password' gamename="Classic Offensive" engine="source" -## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers -servicename="co-server" - #### Directories #### # Edit with care diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg index 49f13b83a..2741b5974 100644 --- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg @@ -93,9 +93,6 @@ branch="" gamename="Counter-Strike: Condition Zero" engine="goldsource" -## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers -servicename="cscz-server" - #### Directories #### # Edit with care diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg index c6775eb53..70eb7ed2b 100644 --- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg @@ -41,7 +41,7 @@ ws_start_map="" ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters fn_parms(){ -parms="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} +host_workshop_collection ${ws_collection_id} +workshop_start_map ${ws_start_map} -authkey ${authkey}" +parms="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} +host_workshop_collection ${ws_collection_id} +workshop_start_map ${ws_start_map} -authkey ${authkey} -nobreakpad" } #### LinuxGSM Settings #### diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg new file mode 100644 index 000000000..5e9c243cd --- /dev/null +++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg @@ -0,0 +1,120 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT WILL BE OVERWRITTEN! +# Copy settings from here and use them in either +# common.cfg - applies settings to every instance +# [instance].cfg - applies settings to a specific instance + +#### Server Settings #### + +## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters +ip="0.0.0.0" +queryport="27015" +defaultmap="KF-BioticsLab" + +## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters +fn_parms(){ +parms="\"${defaultmap}?Game=KFGameContent.KFGameInfo_VersusSurvival?ConfigSubDir=${servicename} -QueryPort=${queryport}\"" +} + +#### LinuxGSM Settings #### + +## Notification Alerts +# (on|off) + +# More info | https://github.com/GameServerManagers/LinuxGSM/wiki/Alerts#more-info +postalert="off" +postdays="7" +posttarget="https://hastebin.com" + +# Discord Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email +emailalert="off" +email="email@example.com" +emailfrom="" + +# IFTTT Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/IFTTT +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/mailgun +mailgunalert="off" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover +pushoveralert="off" +pushovertoken="accesstoken" + +# Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Telegram +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" + +## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update +updateonstart="off" + +## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging +consolelogging="on" +logdays="7" + +#### LinuxGSM Advanced Settings #### + +## SteamCMD Settings +# Server appid +appid="232130" +# Steam App Branch Select +# Allows to opt into the various Steam app branches. Default branch is "". +# Example: "-beta latest_experimental" +branch="" + +## LinuxGSM Server Details +# Do not edit +gamename="Killing Floor 2" +engine="unreal3" + +#### Directories #### +# Edit with care +## Server Specific Directories +systemdir="${serverfiles}" +executabledir="${systemdir}/Binaries/Win64" +executable="./KFGameSteamServer.bin.x86_64" +servercfgdir="${systemdir}/KFGame/Config/${servicename}" +servercfg="LinuxServer-KFGame.ini" +servercfgdefault="LinuxServer-KFGame.ini" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${systemdir}/Saved/Logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +alertlog="${lgsmlogdir}/${servicename}-alert.log" +postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" + diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg index b9043a72b..d5e19bc22 100644 --- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg @@ -110,8 +110,8 @@ logdir="${rootdir}/log" gamelogdir="${logdir}/server" lgsmlogdir="${logdir}/script" consolelogdir="${logdir}/console" -lgsmlog="${lgsmlogdir}/${servicename}-script.log" gamelog="${gamelogdir}/${servicename}-game.log" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" consolelog="${consolelogdir}/${servicename}-console.log" alertlog="${lgsmlogdir}/${servicename}-alert.log" postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg index 98d5fb001..8d678f872 100644 --- a/lgsm/config-default/config-lgsm/roserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg @@ -115,8 +115,8 @@ logdir="${rootdir}/log" gamelogdir="${logdir}/server" lgsmlogdir="${logdir}/script" consolelogdir="${logdir}/console" -lgsmlog="${lgsmlogdir}/${servicename}-script.log" gamelog="${gamelogdir}/${servicename}-game.log" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" consolelog="${consolelogdir}/${servicename}-console.log" alertlog="${lgsmlogdir}/${servicename}-alert.log" postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" diff --git a/lgsm/config-default/config-lgsm/ss3server/_default.cfg b/lgsm/config-default/config-lgsm/ss3server/_default.cfg index 5d8b2edbf..d54bd259b 100644 --- a/lgsm/config-default/config-lgsm/ss3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ss3server/_default.cfg @@ -109,8 +109,8 @@ logdir="${rootdir}/log" gamelogdir="${logdir}/server" lgsmlogdir="${logdir}/script" consolelogdir="${logdir}/console" -lgsmlog="${lgsmlogdir}/${servicename}-script.log" gamelog="${gamelogdir}/${servicename}-game.log" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" consolelog="${consolelogdir}/${servicename}-console.log" alertlog="${lgsmlogdir}/${servicename}-alert.log" postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg index bc13ff3a0..81ee6196b 100644 --- a/lgsm/config-default/config-lgsm/twserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg @@ -112,8 +112,8 @@ logdir="${rootdir}/log" gamelogdir="${logdir}/server" lgsmlogdir="${logdir}/script" consolelogdir="${logdir}/console" -lgsmlog="${lgsmlogdir}/${servicename}-script.log" gamelog="${gamelogdir}/${servicename}-game.log" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" consolelog="${consolelogdir}/${servicename}-console.log" alertlog="${lgsmlogdir}/${servicename}-alert.log" postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg index 26eb9fdaf..f701b563d 100644 --- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg @@ -13,7 +13,6 @@ ip="0.0.0.0" port="7777" queryport="25300" defaultmap="VCTF-Suspense" -maxplayers="32" game="UTGameContent.UTVehicleCTFGame_Content" mutators="" #"UTGame.UTMutator_Instagib,UTGame.UTMutator_LowGrav" isdedicated="true" @@ -26,7 +25,7 @@ allowjoininprogress="true" ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters # Edit with care | List of game types and mutators : http://wiki.unrealadmin.org/FAQ:UT3 fn_parms(){ -parms="server ${defaultmap}?Game=${game}?bIsDedicated=${isdedicated}?bIsLanMatch=${islanmatch}?bUsesStats=${usesstats}?bShouldAdvertise=${shouldadvertise}?PureServer=${pureserver}?bAllowJoinInProgress=${allowjoininprogress}?MaxPlayers=${maxplayers}?Mutator=${mutators} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog} -ini=${servercfgfullpath}" +parms="server ${defaultmap}?Game=${game}?bIsDedicated=${isdedicated}?bIsLanMatch=${islanmatch}?bUsesStats=${usesstats}?bShouldAdvertise=${shouldadvertise}?PureServer=${pureserver}?bAllowJoinInProgress=${allowjoininprogress}?Mutator=${mutators}?ConfigSubDir=${servicename} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog}" } #### LinuxGSM Settings #### @@ -97,9 +96,9 @@ engine="unreal3" systemdir="${serverfiles}" executabledir="${systemdir}/Binaries" executable="./ut3" -servercfg="${servicename}.ini" +servercfg="UTGame.ini" servercfgdefault="UTGame.ini" -servercfgdir="${systemdir}/UTGame/Config" +servercfgdir="${systemdir}/UTGame/Config/${servicename}" servercfgfullpath="${servercfgdir}/${servercfg}" ## Backup Directory @@ -110,14 +109,13 @@ logdir="${rootdir}/log" gamelogdir="${logdir}/server" lgsmlogdir="${logdir}/script" consolelogdir="${logdir}/console" -lgsmlog="${lgsmlogdir}/${servicename}-script.log" gamelog="${gamelogdir}/${servicename}-game.log" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" consolelog="${consolelogdir}/${servicename}-console.log" alertlog="${lgsmlogdir}/${servicename}-alert.log" postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" ## Logs Naming - lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log" diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg new file mode 100644 index 000000000..cb36c22a5 --- /dev/null +++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg @@ -0,0 +1,128 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT WILL BE OVERWRITTEN! +# Copy settings from here and use them in either +# common.cfg - applies settings to every instance +# [instance].cfg - applies settings to a specific instance + +#### Server Settings #### + +## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters +ip="0.0.0.0" +port="27015" +clientport="27005" +sourcetvport="27020" +defaultmap="zps_deadend" +maxplayers="20" + +## Optional: Game Server Login Token +# GSLT can be used for running a public server. +# More info: https://gameservermanagers.com/gslt +gslt="" + +## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters +fn_parms(){ +parms="-game zps -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +} + +#### LinuxGSM Settings #### + +## Notification Alerts +# (on|off) + +# More info | https://github.com/GameServerManagers/LinuxGSM/wiki/Alerts#more-info +postalert="off" +postdays="7" +posttarget="https://hastebin.com" + +# Discord Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email +emailalert="off" +email="email@example.com" +emailfrom="" + +# IFTTT Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/IFTTT +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/mailgun +mailgunalert="off" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover +pushoveralert="off" +pushovertoken="accesstoken" + +# Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Telegram +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" + +## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update +updateonstart="off" + +## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging +consolelogging="on" +logdays="7" + +#### LinuxGSM Advanced Settings #### + +## SteamCMD Settings +# Server appid +appid="17505" +# Steam App Branch Select +# Allows to opt into the various Steam app branches. Default branch is "". +# Example: "-beta latest_experimental" +branch="" + +## LinuxGSM Server Details +# Do not edit +gamename="Zombie Panic! Source" +engine="source" + +#### Directories #### +# Edit with care + +## Server Specific Directories +systemdir="${serverfiles}/zps" +executabledir="${serverfiles}" +executable="./srcds_run" +servercfg="${servicename}.cfg" +servercfgdefault="server.cfg" +servercfgdir="${systemdir}/cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${rootdir}/backups" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${systemdir}/logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +alertlog="${lgsmlogdir}/${servicename}-alert.log" +postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" \ No newline at end of file diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 758eea30c..2e167a0b4 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -1,69 +1,71 @@ -arma3,arma3server,ARMA 3 -sdtd,sdtdserver,7 Days to Die -ark,arkserver,ARK: Survival Evolved -bo,boserver,Ballistic Overkill -bf1942,bf1942server,Battlefield 1942 -bmdm,bmdmserver,Black Mesa: Deathmatch -bs,bsserver,Blade Symphony -bb2,bb2server,BrainBread 2 -cod,codserver,Call of Duty -cod2,cod2server,Call of Duty 2 -cod4,cod4server,Call of Duty 4 -coduo,coduoserver,Call of Duty: United Offensive -codwaw,codwawserver,Call of Duty: World at War -cc,ccserver,Codename CURE -cs,csserver,Counter-Strike 1.6 -cscz,csczserver,Counter-Strike: Condition Zero -csgo,csgoserver,Counter-Strike: Global Offensive -css,cssserver,Counter-Strike: Source -dod,dodserver,Day of Defeat -dods,dodsserver,Day of Defeat: Source -doi,doiserver,Day of Infamy -dmc,dmcserver,Deathmatch Classic -dst,dstserver,Don't Starve Together -dab,dabserver,Double Action: Boogaloo -em,emserver,Empires Mod -fctr,fctrserver,Factorio -fof,fofserver,Fistful of Frags -gmod,gmodserver,Garrys Mod -ges,gesserver,GoldenEye: Source -hl2dm,hl2dmserver,Half-Life 2: Deathmatch -hldms,hldmsserver,Half-Life Deathmatch: Source -hldm,hldmserver,Half-Life: Deathmatch -hw,hwserver,Hurtworld -ins,insserver,Insurgency -jc2,jc2server,Just Cause 2 -kf,kfserver,Killing Floor -l4d,l4dserver,Left 4 Dead -l4d2,l4d2server,Left 4 Dead 2 -mc,mcserver,Minecraft -mta,mtaserver,Multi Theft Auto -mumble,mumbleserver,Mumble -ns2,ns2server,Natural Selection 2 -nmrih,nmrihserver,No More Room in Hell -ns2c,ns2cserver,NS2: Combat -opfor,opforserver,Opposing Force -pvkii,pvkiiserver,Pirates Vikings & Knights II -pc,pcserver,Project Cars -pz,pzserver,Project Zomboid -q2,q2server,Quake 2 -q3,q3server,Quake 3: Arena -ql,qlserver,Quake Live -qw,qwserver,Quake World -ro,roserver,Red Orchestra: Ostfront 41-45 -ricochet,ricochetserver,Ricochet -rust,rustserver,Rust -ss3,ss3server,Serious Sam 3: BFE -sb,sbserver,Starbound -squad,squadserver,Squad -sven,svenserver,Sven Co-op -tf2,tf2server,Team Fortress 2 -tfc,tfcserver,Team Fortress Classic -ts3,ts3server,Teamspeak 3 -tw,twserver,Teeworlds -terraria,terrariaserver,Terraria -tu,tuserver,Tower Unite -ut2k4,ut2k4server,Unreal Tournament 2004 -ut3,ut3server,Unreal Tournament 3 -ut99,ut99server,Unreal Tournament 99 -wet,wetserver,Wolfenstein: Enemy Territory +arma3 arma3server ARMA 3 +sdtd sdtdserver 7 Days to Die +ark arkserver ARK: Survival Evolved +bo boserver Ballistic Overkill +bf1942 bf1942server Battlefield 1942 +bmdm bmdmserver Black Mesa: Deathmatch +bs bsserver Blade Symphony +bb2 bb2server BrainBread 2 +cod codserver Call of Duty +cod2 cod2server Call of Duty 2 +cod4 cod4server Call of Duty 4 +coduo coduoserver Call of Duty: United Offensive +codwaw codwawserver Call of Duty: World at War +cc ccserver Codename CURE +cs csserver Counter-Strike 1.6 +cscz csczserver Counter-Strike: Condition Zero +csgo csgoserver Counter-Strike: Global Offensive +css cssserver Counter-Strike: Source +dod dodserver Day of Defeat +dods dodsserver Day of Defeat: Source +doi doiserver Day of Infamy +dmc dmcserver Deathmatch Classic +dst dstserver Don't Starve Together +dab dabserver Double Action: Boogaloo +em emserver Empires Mod +fctr fctrserver Factorio +fof fofserver Fistful of Frags +gmod gmodserver Garrys Mod +ges gesserver GoldenEye: Source +hl2dm hl2dmserver Half-Life 2: Deathmatch +hldms hldmsserver Half-Life Deathmatch: Source +hldm hldmserver Half-Life: Deathmatch +hw hwserver Hurtworld +ins insserver Insurgency +jc2 jc2server Just Cause 2 +kf kfserver Killing Floor +kf2 kf2server Killing Floor 2 +l4d l4dserver Left 4 Dead +l4d2 l4d2server Left 4 Dead 2 +mc mcserver Minecraft +mta mtaserver Multi Theft Auto +mumble mumbleserver Mumble +ns2 ns2server Natural Selection 2 +nmrih nmrihserver No More Room in Hell +ns2c ns2cserver NS2: Combat +opfor opforserver Opposing Force +pvkii pvkiiserver Pirates Vikings & Knights II +pc pcserver Project Cars +pz pzserver Project Zomboid +q2 q2server Quake 2 +q3 q3server Quake 3: Arena +ql qlserver Quake Live +qw qwserver Quake World +ro roserver Red Orchestra: Ostfront 41-45 +ricochet ricochetserver Ricochet +rust rustserver Rust +ss3 ss3server Serious Sam 3: BFE +sb sbserver Starbound +squad squadserver Squad +sven svenserver Sven Co-op +tf2 tf2server Team Fortress 2 +tfc tfcserver Team Fortress Classic +ts3 ts3server Teamspeak 3 +tw twserver Teeworlds +terraria terrariaserver Terraria +tu tuserver Tower Unite +ut2k4 ut2k4server Unreal Tournament 2004 +ut3 ut3server Unreal Tournament 3 +ut99 ut99server Unreal Tournament 99 +wet wetserver Wolfenstein: Enemy Territory +zps zpsserver Zombie Panic! Source diff --git a/lgsm/functions/check_config.sh b/lgsm/functions/check_config.sh index 7b1ff92cf..bbb8b7054 100644 --- a/lgsm/functions/check_config.sh +++ b/lgsm/functions/check_config.sh @@ -8,7 +8,7 @@ local commandname="CHECK" local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" if [ ! -e "${servercfgfullpath}" ]; then - if [ "${gamename}" != "Hurtworld" ]; then + if [ "${gamename}" != "Hurtworld" ]||[ "${shortname}" != "ut3" ]||[ "${shortname}" != "kf2" ]; then fn_print_dots "" sleep 0.5 fn_print_warn_nl "Configuration file missing!" diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index 1635b65c4..c022352a7 100644 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -183,12 +183,18 @@ if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then # Brainbread 2 ,Don't Starve Together & Team Fortress 2 elif [ "${gamename}" == "Brainbread 2" ]||[ "${gamename}" == "Don't Starve Together" ]||[ "${gamename}" == "Team Fortress 2" ]; then array_deps_required+=( libcurl4-gnutls-dev:i386 ) + if [ "${gamename}" == "Team Fortress 2" ]; then + array_deps_required+=( libtcmalloc-minimal4:i386 ) + fi # Battlefield: 1942 elif [ "${gamename}" == "Battlefield: 1942" ]; then array_deps_required+=( libncurses5:i386 ) # Call of Duty elif [ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty 2" ]; then array_deps_required+=( libstdc++5:i386 ) + # Factorio + elif [ "${gamename}" == "Factorio" ]; then + array_deps_required+=( xz-utils ) # Project Zomboid and Minecraft elif [ "${engine}" == "projectzomboid" ]||[ "${engine}" == "lwjgl2" ]; then javaversion=$(java -version 2>&1 | grep "version") @@ -258,12 +264,18 @@ elif [ -n "$(command -v yum 2>/dev/null)" ]; then # Brainbread 2, Don't Starve Together & Team Fortress 2 elif [ "${gamename}" == "Brainbread 2" ]||[ "${gamename}" == "Don't Starve Together" ]||[ "${gamename}" == "Team Fortress 2" ]; then array_deps_required+=( libcurl.i686 ) + if [ "${gamename}" == "Team Fortress 2" ]; then + array_deps_required+=( gperftools-libs.i686 ) + fi # Battlefield: 1942 elif [ "${gamename}" == "Battlefield: 1942" ]; then array_deps_required+=( ncurses-libs.i686 ) # Call of Duty elif [ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty 2" ]; then array_deps_required+=( compat-libstdc++-33.i686 ) + # Factorio + elif [ "${gamename}" == "Factorio" ]; then + array_deps_required+=( xz ) # Project Zomboid and Minecraft elif [ "${engine}" == "projectzomboid" ]||[ "${engine}" == "lwjgl2" ]; then javaversion=$(java -version 2>&1 | grep "version") diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh index 0ff223a50..29b2ec77f 100644 --- a/lgsm/functions/command_debug.sh +++ b/lgsm/functions/command_debug.sh @@ -52,6 +52,12 @@ if [ -n "${glibcrequired}" ]; then fi # Server ip echo -e "${blue}Server IP:\t${default}${ip}:${port}" +# External server ip +if [ -n "${extip}" ]; then + if [ "${ip}" != "${extip}" ]; then + echo -e "${blue}Internet IP:\t${default}${extip}:${port}" + fi +fi # Server password if [ -n "${serverpassword}" ]; then echo -e "${blue}Server password:\t${default}${serverpassword}" diff --git a/lgsm/functions/command_mods_remove.sh b/lgsm/functions/command_mods_remove.sh index 87a83f758..e2176fe18 100644 --- a/lgsm/functions/command_mods_remove.sh +++ b/lgsm/functions/command_mods_remove.sh @@ -32,7 +32,7 @@ done echo "" # Keep prompting as long as the user input doesn't correspond to an available mod while [[ ! " ${installedmodslist[@]} " =~ " ${usermodselect} " ]]; do - echo -en "Enter an ${cyan}addon/mod${default} to ${green}install${default} (or exit to abort): " + echo -en "Enter an ${cyan}addon/mod${default} to ${red}remove${default} (or exit to abort): " read -r usermodselect # Exit if user says exit or abort if [ "${usermodselect}" == "exit" ]||[ "${usermodselect}" == "abort" ]; then diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index 44b705082..fec2dd946 100644 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -191,6 +191,7 @@ logs.sh if [ "${status}" == "0" ]; then if [ "${updateonstart}" == "yes" ]||[ "${updateonstart}" == "1" ]||[ "${updateonstart}" == "on" ]; then exitbypass=1 + unset updateonstart command_update.sh fi fi diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 5e0c47694..da6b0a6f4 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -624,17 +624,69 @@ fn_info_config_unreal(){ fn_info_config_unreal3(){ if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" + serverpassword="${unavailable}" + adminpassword="${unavailable}" + port="${unavailable}" + webadminenabled="${unavailable}" + webadminport="${zero}" + webadminuser="${unavailable}" webadminpass="${unavailable}" else servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') - webadminpass=$(grep grep "AdminPassword" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + port=$(grep "Port" "${servercfgdir}/UTEngine.ini" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]') + webadminenabled=$(grep "bEnabled" "${servercfgdir}/UTWeb.ini" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + webadminport=$(grep "ListenPort" "${servercfgdir}/UTWeb.ini" | grep -v "#" | tr -cd '[:digit:]') + webadminuser="Admin" + webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') # Not Set servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + adminpassword=${adminpassword:-"NOT SET"} + port=${port:-"0"} + webadminenabled=${webadminenabled:-"NOT SET"} + webadminport=${webadminport:-"0"} + webadminuser=${webadminuser:-"NOT SET"} webadminpass=${webadminpass:-"NOT SET"} fi } +fn_info_config_kf2(){ + if [ ! -f "${servercfgfullpath}" ]; then + servername="${unavailable}" + serverpassword="${unavailable}" + adminpassword="${unavailable}" + port="${unavailable}" + webadminenabled="${unavailable}" + webadminport="${zero}" + webadminuser="${unavailable}" + webadminpass="${unavailable}" + else + servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + # Not in UT3 + serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + port=$(grep "Port" "${servercfgdir}/LinuxServer-KFEngine.ini" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]') + webadminenabled=$(grep "bEnabled" "${servercfgdir}/KFWeb.ini" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + webadminport=$(grep "ListenPort" "${servercfgdir}/KFWeb.ini" | grep -v "#" | tr -cd '[:digit:]') + webadminuser="Admin" + webadminpass=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + + # Not Set + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + adminpassword=${adminpassword:-"NOT SET"} + port=${port:-"0"} + webadminenabled=${webadminenabled:-"NOT SET"} + webadminport=${webadminport:-"0"} + webadminuser=${webadminuser:-"NOT SET"} + webadminpass=${webadminpass:-"NOT SET"} + + + fi +} + fn_info_config_sdtd(){ if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" @@ -804,6 +856,9 @@ elif [ "${engine}" == "dontstarve" ]; then # Factorio elif [ "${gamename}" == "Factorio" ]; then fn_info_config_factorio +# Killing Floor 2 +elif [ "${shortname}" == "kf2" ]; then + fn_info_config_kf2 # QuakeWorld elif [ "${gamename}" == "QuakeWorld" ]; then fn_info_config_quakeworld diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh index 0c2c770a3..b2f75b78b 100644 --- a/lgsm/functions/info_distro.sh +++ b/lgsm/functions/info_distro.sh @@ -133,3 +133,6 @@ if [ -d "${backupdir}" ]; then lastbackupsize=$(du -h "${lastbackup}" | awk '{print $1}') fi fi + +# External IP address +extip=$(curl -m 3 ifconfig.co 2>/dev/null) \ No newline at end of file diff --git a/lgsm/functions/info_glibc.sh b/lgsm/functions/info_glibc.sh index 01a9d5ece..dca0c6238 100644 --- a/lgsm/functions/info_glibc.sh +++ b/lgsm/functions/info_glibc.sh @@ -65,6 +65,9 @@ elif [ "${gamename}" == "GoldenEye: Source" ]; then elif [ "${gamename}" == "Insurgency" ]; then glibcrequired="2.15" glibcfix="yes" +elif [ "${shortname}" == "kf2" ]; then + glibcrequired="2.17" + glibcfix="no" elif [ "${gamename}" == "Mumble" ]; then glibcrequired="NOT REQUIRED" glibcfix="no" diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index c6285233b..87b62f64e 100644 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -134,6 +134,13 @@ fn_info_message_gameserver(){ # Server ip echo -e "${blue}Server IP:\t${default}${ip}:${port}" + # External server ip + if [ -n "${extip}" ]; then + if [ "${ip}" != "${extip}" ]; then + echo -e "${blue}Internet IP:\t${default}${extip}:${port}" + fi + fi + # Server password if [ -n "${serverpassword}" ]; then echo -e "${blue}Server password:\t${default}${serverpassword}" @@ -282,12 +289,20 @@ fn_info_message_script(){ fi fi + # Discord alert + echo -e "${blue}Discord alert:\t${default}${discordalert}" # Email alert echo -e "${blue}Email alert:\t${default}${emailalert}" - # Pushbullet alert echo -e "${blue}Pushbullet alert:\t${default}${pushbulletalert}" - + # IFTTT alert + echo -e "${blue}IFTTT alert:\t${default}${iftttalert}" + # Mailgun alert + echo -e "${blue}Mailgun (email) alert:\t${default}${mailgunalert}" + # Pushover alert + echo -e "${blue}Pushover alert:\t${default}${pushoveralert}" + # Telegram alert + echo -e "${blue}Telegram alert:\t${default}${telegramalert}" # Update on start if [ -n "${updateonstart}" ]; then echo -e "${blue}Update on start:\t${default}${updateonstart}" @@ -375,12 +390,16 @@ fn_info_message_ports(){ local ports_edit_array=( "avalanche" "Ballistic Overkill" "dontstarve" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" ) for port_edit in "${ports_edit_array[@]}" do - if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then + if [ "${shortname}" == "ut3" ]; then + parmslocation="${servercfgdir}/UTEngine.ini\n${servercfgdir}/UTWeb.ini" + elif [ "${shortname}" == "kf2" ]; then + parmslocation="${servercfgdir}/LinuxServer-KFEngine.ini\n${servercfgdir}/KFWeb.ini" + elif [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then parmslocation="${servercfgfullpath}" fi done # engines/games that require editing in the script file - local ports_edit_array=( "goldsource" "Factorio" "Hurtworld" "iw3.0" "Rust" "spark" "source" "starbound" "unreal4" "realvirtuality") + local ports_edit_array=( "goldsource" "Factorio" "Hurtworld" "iw3.0" "Rust" "spark" "source" "starbound" "unreal4" "realvirtuality") for port_edit in "${ports_edit_array[@]}" do if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then @@ -844,9 +863,9 @@ fn_info_message_unreal(){ fi if [ "${appid}" ]; then if [ "${appid}" == "223250" ]; then - echo -e "< Steam\tOUTBOUND\t20610\tudp" + echo -e "< Steam\tINBOUND\t20610\tudp" else - echo -e "< Steam\tOUTBOUND\t20660\tudp" + echo -e "< Steam\tINBOUND\t20660\tudp" fi fi echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp\tListenPort=${webadminport}" @@ -862,12 +881,43 @@ fn_info_message_unreal(){ } | column -s $'\t' -t } -fn_info_message_ut3(){ +fn_info_message_unreal3(){ echo -e "netstat -atunp | grep ut3-bin" echo -e "" { echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp" + echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp\tListenPort=${webadminport}" + } | column -s $'\t' -t + echo -e "" + echo -e "${lightgreen}${servername} WebAdmin${default}" + fn_messages_separator + { + echo -e "${blue}WebAdmin enabled:\t${default}${webadminenabled}" + echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}" + echo -e "${blue}WebAdmin username:\t${default}${webadminuser}" + echo -e "${blue}WebAdmin password:\t${default}${webadminpass}" + } | column -s $'\t' -t +} + +fn_info_message_kf2(){ + echo -e "netstat -atunp | grep KFGame" + echo -e "" + { + echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "> Game\tINBOUND\t${port}\ttcp" + echo -e "> Query\tINBOUND\t${queryport}\ttcp/udp" + echo -e "> Steam\tINBOUND\t20560\tudp" + echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp\tListenPort=${webadminport}" + } | column -s $'\t' -t + echo -e "" + echo -e "${lightgreen}${servername} WebAdmin${default}" + fn_messages_separator + { + echo -e "${blue}WebAdmin enabled:\t${default}${webadminenabled}" + echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}" + echo -e "${blue}WebAdmin username:\t${default}${webadminuser}" + echo -e "${blue}WebAdmin password:\t${default}${webadminpass}" } | column -s $'\t' -t } @@ -895,37 +945,7 @@ fn_info_message_mta(){ fn_info_message_select_engine(){ # Display details depending on game or engine. - if [ "${engine}" == "avalanche" ]; then - fn_info_message_avalanche - elif [ "${engine}" == "refractor" ]; then - fn_info_message_refractor - elif [ "${engine}" == "dontstarve" ]; then - fn_info_message_dontstarve - elif [ "${engine}" == "goldsource" ]; then - fn_info_message_goldsource - elif [ "${engine}" == "lwjgl2" ]; then - fn_info_message_minecraft - elif [ "${engine}" == "projectzomboid" ]; then - fn_info_message_projectzomboid - elif [ "${engine}" == "realvirtuality" ]; then - fn_info_message_realvirtuality - elif [ "${engine}" == "seriousengine35" ]; then - fn_info_message_seriousengine35 - elif [ "${engine}" == "source" ]; then - fn_info_message_source - elif [ "${engine}" == "spark" ]; then - fn_info_message_spark - elif [ "${engine}" == "starbound" ]; then - fn_info_message_starbound - elif [ "${engine}" == "teeworlds" ]; then - fn_info_message_teeworlds - elif [ "${engine}" == "terraria" ]; then - fn_info_message_terraria - elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then - fn_info_message_unreal - elif [ "${engine}" == "unreal3" ]; then - fn_info_message_ut3 - elif [ "${gamename}" == "7 Days To Die" ]; then + if [ "${gamename}" == "7 Days To Die" ]; then fn_info_message_sdtd elif [ "${gamename}" == "ARK: Survival Evolved" ]; then fn_info_message_ark @@ -945,6 +965,8 @@ fn_info_message_select_engine(){ fn_info_message_factorio elif [ "${gamename}" == "Hurtworld" ]; then fn_info_message_hurtworld + elif [ "${shortname}" == "kf2" ]; then + fn_info_message_kf2 elif [ "${gamename}" == "Project Cars" ]; then fn_info_message_projectcars elif [ "${gamename}" == "QuakeWorld" ]; then @@ -969,6 +991,36 @@ fn_info_message_select_engine(){ fn_info_message_rust elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then fn_info_message_wolfensteinenemyterritory + elif [ "${engine}" == "avalanche" ]; then + fn_info_message_avalanche + elif [ "${engine}" == "refractor" ]; then + fn_info_message_refractor + elif [ "${engine}" == "dontstarve" ]; then + fn_info_message_dontstarve + elif [ "${engine}" == "goldsource" ]; then + fn_info_message_goldsource + elif [ "${engine}" == "lwjgl2" ]; then + fn_info_message_minecraft + elif [ "${engine}" == "projectzomboid" ]; then + fn_info_message_projectzomboid + elif [ "${engine}" == "realvirtuality" ]; then + fn_info_message_realvirtuality + elif [ "${engine}" == "seriousengine35" ]; then + fn_info_message_seriousengine35 + elif [ "${engine}" == "source" ]; then + fn_info_message_source + elif [ "${engine}" == "spark" ]; then + fn_info_message_spark + elif [ "${engine}" == "starbound" ]; then + fn_info_message_starbound + elif [ "${engine}" == "teeworlds" ]; then + fn_info_message_teeworlds + elif [ "${engine}" == "terraria" ]; then + fn_info_message_terraria + elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then + fn_info_message_unreal + elif [ "${engine}" == "unreal3" ]; then + fn_info_message_unreal3 else fn_print_error_nl "Unable to detect server engine." fi diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh index 72151a0e3..b708ac0e5 100644 --- a/lgsm/functions/info_parms.sh +++ b/lgsm/functions/info_parms.sh @@ -112,11 +112,15 @@ fn_info_parms_unreal3(){ port=${port:-"0"} queryport=${queryport:-"0"} defaultmap=${defaultmap:-"NOT SET"} - maxplayers=${maxplayers:-"0"} serverpassword=${serverpassword:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} } +fn_info_parms_kf2(){ + queryport=${queryport:-"0"} + defaultmap=${defaultmap:-"NOT SET"} +} + # ARK: Survival Evolved if [ "${gamename}" == "ARK: Survival Evolved" ]; then fn_info_parms_ark @@ -129,6 +133,8 @@ elif [ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: Unit # Factorio elif [ "${gamename}" == "Factorio" ]; then fn_info_parms_factorio +elif [ "${shortname}" == "kf2" ]; then + fn_info_parms_kf2 # Project Zomboid elif [ "${engine}" == "projectzomboid" ]; then fn_info_parms_projectzomboid diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 1a184acf1..65c1c9cf5 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -50,7 +50,7 @@ fn_default_config_remote(){ # PASSWORD to random password fn_set_config_vars(){ if [ -f "${servercfgfullpath}" ]; then - random=$(strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 8 | tr -d '\n'; echo) + random=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs) servername="LinuxGSM" rconpass="admin$random" echo "changing hostname." @@ -82,7 +82,7 @@ fn_set_dst_config_vars(){ sleep 1 echo "randomizing cluster key." fn_script_log_info "randomizing cluster key." - randomkey=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) + randomkey=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs) sed -i "s/CLUSTERKEY/${randomkey}/g" "${clustercfgfullpath}" sleep 1 else @@ -516,12 +516,6 @@ elif [ "${gamename}" == "Unreal Tournament 2004" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars -elif [ "${gamename}" == "Unreal Tournament 3" ]; then - gamedirname="UnrealTournament3" - array_configs+=( UTGame.ini ) - fn_fetch_default_config - fn_default_config_remote - fn_set_config_vars elif [ "${gamename}" == "Unreal Tournament 99" ]; then gamedirname="UnrealTournament99" array_configs+=( Default.ini ) diff --git a/lgsm/functions/mods_list.sh b/lgsm/functions/mods_list.sh index ef4a5881c..695b28c9d 100644 --- a/lgsm/functions/mods_list.sh +++ b/lgsm/functions/mods_list.sh @@ -63,7 +63,7 @@ mod_info_uclip=( MOD "uclip" "UClip" "https://github.com/TeamUlysses/uclip/archi mod_info_acf=( MOD "acf" "Armoured Combat Framework" "https://github.com/nrlulz/ACF/archive/master.zip" "acf-master.zip" "0" "LowercaseOn" "${systemdir}/addons" "acf-master/lua/acf/shared/guns;" "ENGINES" "Garry's Mod;" "NOTGAMES" "https://github.com/nrlulz/ACF" "Realistic Wepons & Engines" ) mod_info_acf_missiles=( MOD "acfmissiles" "ACF Missiles" "https://github.com/Bubbus/ACF-Missiles/archive/master.zip" "acf-missiles-master.zip" "0" "LowercaseOn" "${systemdir}/addons" "OVERWRITE" "ENGINES" "Garry's Mod;" "NOTGAMES" "https://github.com/Bubbus/ACF-Missiles" "More missiles for ACF" ) mod_info_advdupe2=( MOD "advdupe2" "Advanced Duplicator 2" "https://github.com/wiremod/advdupe2/archive/master.zip" "advdupe2-master.zip" "0" "LowercaseOn" "${systemdir}/addons" "OVERWRITE" "ENGINES" "Garry's Mod;" "NOTGAMES" "http://www.wiremod.com" "Save your constructions" ) -mod_info_darkrp=( MOD "darkrp" "DarkRP" "https://github.com/FPtje/DarkRP/archive/master.zip" "darkrp-master.zip" "0" "LowercaseOn" "${systemdir}/addons" "OVERWRITE" "ENGINES" "Garry's Mod;" "NOTGAMES" "http://darkrp.com" "Most popular gamemode" ) +mod_info_darkrp=( MOD "darkrp" "DarkRP" "https://github.com/FPtje/DarkRP/archive/master.zip" "darkrp-master.zip" "0" "LowercaseOn" "${systemdir}/gamemodes" "OVERWRITE" "ENGINES" "Garry's Mod;" "NOTGAMES" "http://darkrp.com" "Most popular gamemode" ) mod_info_darkrpmodification=( MOD "darkrpmodification" "DarkRP Modification" "https://github.com/FPtje/darkrpmodification/archive/master.zip" "darkrpmodification-master.zip" "0" "LowercaseOff" "${systemdir}/addons" "NOUPDATE" "ENGINES" "Garry's Mod;" "NOTGAMES" "http://darkrp.com" "Customize DarkRP settings" ) # Oxidemod mod_info_rustoxide=( MOD "rustoxide" "Oxide for Rust" "https://dl.bintray.com/oxidemod/builds/Oxide-Rust.zip" "Oxide-Rust.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Rust;" "NOTGAMES" "http://oxidemod.org/downloads/oxide-for-rust.1659/" "Allows for the use of plugins" ) diff --git a/linuxgsm.sh b/linuxgsm.sh index 378980070..da94afcde 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="170803" +version="170926" shortname="core" gameservername="core" rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"