diff --git a/README.md b/README.md index 12a51e74..a1da633b 100644 --- a/README.md +++ b/README.md @@ -216,6 +216,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Mordhau](game_eggs/steamcmd_servers/mordhau) * [No More Room in Hell](game_eggs/steamcmd_servers/nmrih) * [Onset](game_eggs/steamcmd_servers/onset) +* [Open Fortress](game_eggs/steamcmd_servers/open_fortress) * [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr) * [PixARK](game_eggs/steamcmd_servers/pixark) * [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum) diff --git a/game_eggs/README.md b/game_eggs/README.md index 5f3aa6c0..632b92bb 100644 --- a/game_eggs/README.md +++ b/game_eggs/README.md @@ -131,6 +131,7 @@ * [Mordhau](steamcmd_servers/mordhau) * [No More Room in Hell](steamcmd_servers/nmrih) * [Onset](steamcmd_servers/onset) +* [Open Fortress](steamcmd_servers/open_fortress) * [Pavlov VR](steamcmd_servers/pavlov_vr) * [PixARK](steamcmd_servers/pixark) * [Post Scriptum](steamcmd_servers/post_scriptum) diff --git a/game_eggs/steamcmd_servers/README.md b/game_eggs/steamcmd_servers/README.md index 58afb14b..c607f914 100644 --- a/game_eggs/steamcmd_servers/README.md +++ b/game_eggs/steamcmd_servers/README.md @@ -100,6 +100,10 @@ This is a collection of servers that use SteamCMD to install. [Onset](onset) +## Open Fortress + +[Open Fortress](open_fortress) + ## Pavlov VR [Pavlov VR](pavlov_vr) diff --git a/game_eggs/steamcmd_servers/open_fortress/README.md b/game_eggs/steamcmd_servers/open_fortress/README.md new file mode 100644 index 00000000..1d488524 --- /dev/null +++ b/game_eggs/steamcmd_servers/open_fortress/README.md @@ -0,0 +1,14 @@ +# Open Fortress + +## From their [Website](https://openfortress.fun/) + +Open Fortress is a free Team Fortress 2 mod that introduces new gamemodes, weapons, characters, maps, and more to the world of TF2. + +## Server Ports + +Open Fortress servers require 1 port to be open, the SourceTV port can also be opened for spectators. + +| Port | default | +|-----------|---------| +| Game/rcon | 27015 | +| SourceTV | 27020 | diff --git a/game_eggs/steamcmd_servers/open_fortress/egg-open-fortress.json b/game_eggs/steamcmd_servers/open_fortress/egg-open-fortress.json new file mode 100644 index 00000000..e3bbd203 --- /dev/null +++ b/game_eggs/steamcmd_servers/open_fortress/egg-open-fortress.json @@ -0,0 +1,74 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2022-07-18T08:23:04-04:00", + "name": "Open Fortress", + "author": "espeon@espeon.dev", + "description": "Open Fortress is a free Team Fortress 2 mod that introduces new gamemodes, weapons, characters, maps, and more to the world of TF2.", + "features": [ + "steam_disk_space" + ], + "docker_images": { + "ghcr.io\/parkervcp\/yolks:games_source": "ghcr.io\/parkervcp\/yolks:games_source" + }, + "file_denylist": [], + "startup": ".\/srcds_run -game {{SRCDS_GAME}} -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart -debug +maxplayers {{MAXPLAYERS}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"gameserver Steam ID\"\r\n}", + "logs": "{}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates p7zip-full wget\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\nSTEAM_USER=anonymous\r\nSTEAM_PASS=\"\"\r\nSTEAM_AUTH=\"\"\r\nfi\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n## install tf2 content using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server\/tf2 +app_update 232250 ${EXTRA_FLAGS} +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n## download OpenFortress\r\ncd \/mnt\/server\r\nmv bin bin_dontdeleteme\r\nwget https:\/\/git.sr.ht\/~welt\/murse\/refs\/download\/v0.2.1\/murse-v0.2.1-linux-amd64.tar.gz -O murse.tgz 2> \/dev\/null\r\ntar xvfz murse.tgz\r\nrm -rf murse.tgz\r\nchmod +x murse\r\n.\/murse upgrade -u https:\/\/toast1.openfortress.fun\/toast -c $(curl https:\/\/toast1.openfortress.fun\/toast\/reithreads) asdrggvead\/open_fortress\r\nmv \/mnt\/server\/asdrggvead\/open_fortress \/mnt\/server\/open_fortress\r\nrm -rf asdrggvead\r\nmv bin_dontdeleteme bin\r\n## add fixed gameinfo\r\ncd \/mnt\/server\/open_fortress\r\nrm -rf gameinfo.txt\r\ncat >> gameinfo.txt << EOF\r\n\"GameInfo\"\r\n{\r\ngame \"Open Fortress\"\r\ntitle \"\"\r\ntitle2 \"\"\r\ngamelogo \"1\"\r\ndeveloper \"https:\/\/github.com\/AgitationSkeleton\/open_fortress\/blob\/master\/credits.txt\"\r\ndeveloper_url\t\"https:\/\/github.com\/KaidemonLP\/Open-Fortress-Source\"\r\nmanual \"\"\r\ntype \"multiplayer_only\"\r\nhasportals \"0\" \/\/ gameui.dll\r\nhashdcontent\t\"0\" \/\/ gameui.dll\r\nnomodels \"0\" \/\/ gameui.dll\r\nnohimodel \"0\" \/\/ gameui.dll\r\nnocrosshair \"0\" \/\/ gameui.dll\r\nadvcrosshair \"1\" \/\/ gameui.dll\r\nnodifficulty\t\"1\" \/\/ gameui.dll\r\nsupportsvr \"0\" \/\/ engine.dll + gameui.dll\r\nbots \"0\" \/\/ gameui.dll\r\nnodegraph \"1\" \/\/ engine.dll\r\nperfwizard \"0\" \/\/ unused\r\nSupportsDX8 \"0\" \/\/ unused\r\nSupportsDX9 \"1\" \/\/ unused\r\nSupportsDX10\t\"0\" \/\/ unused\r\nSupportsDX11\t\"0\" \/\/ unused\r\nSupportsXbox\t\"0\" \/\/ unused\r\nSupportsXbox360\t\"0\" \/\/ unused\r\nSupportsXboxOne\t\"0\" \/\/ unused\r\nSupportsPS3 \"0\" \/\/ unused\r\nSupportsPS4 \"0\" \/\/ unused\r\nicon \"resource\/game\"\r\nGameData \"ofd_fic2.fgd\"\r\nInstancePath\t\"maps\/instances\/\"\r\nhidden_maps\r\n{\r\n\"test_speakers\" 1\r\n\"test_hardware\" 1\r\n\"background01\" 1\r\n\"background02\" 1\r\n\"background03\" 1\r\n\"background04\" 1\r\n\"background05\" 1\r\n\"background06\" 1\r\n\"background07\" 1\r\n\"background08\" 1\r\n\"background09\" 1\r\n\"background12\" 1\r\n\"background15\" 1\r\n\"ep1_c17_00\" 1\r\n\"ep1_c17_00a\" 1\r\n\"ep1_c17_01\" 1\r\n\"ep1_c17_01a\" 1\r\n\"ep1_c17_02\" 1\r\n\"ep1_c17_02a\" 1\r\n\"ep1_c17_02b\" 1\r\n\"ep1_c17_05\" 1\r\n\"ep1_c17_06\" 1\r\n\"ep1_citadel_00\"\t1\r\n\"ep1_citadel_00_demo\" 1\r\n\"ep1_citadel_01\"\t1\r\n\"ep1_citadel_02\"\t1\r\n\"ep1_citadel_02b\"\t1\r\n\"ep1_citadel_03\"\t1\r\n\"ep1_citadel_04\"\t1\r\n\"ep1_background01\"\t1\r\n\"ep1_background01a\"\t1\r\n\"ep1_background02\"\t1\r\n\"ep2_outland_01\"\t1\r\n\"ep2_outland_01a\"\t1\r\n\"ep2_outland_02\"\t1\r\n\"ep2_outland_03\"\t1\r\n\"ep2_outland_04\"\t1\r\n\"ep2_outland_05\"\t1\r\n\"ep2_outland_06\"\t1\r\n\"ep2_outland_06a\"\t1\r\n\"ep2_outland_07\"\t1\r\n\"ep2_outland_08\"\t1\r\n\"ep2_outland_09\"\t1\r\n\"ep2_outland_10\"\t1\r\n\"ep2_outland_10a\"\t1\r\n\"ep2_outland_11\"\t1\r\n\"ep2_outland_11a\"\t1\r\n\"ep2_outland_11b\"\t1\r\n\"ep2_outland_12\"\t1\r\n\"ep2_outland_12a\"\t1\r\n\"ep2_background01\"\t1\r\n\"ep2_background02\"\t1\r\n\"ep2_background02a\"\t1\r\n\"ep2_background03\"\t1\r\n\"credits\" 1\r\n\"vst_lostcoast\" 1\r\n\"test\" 1\r\n\"sdk_vehicles\" 1\r\n}\r\nFileSystem\r\n{\r\nSteamAppId 243750\r\nSearchPaths\r\n{\r\ngame+mod |gameinfo_path|custom\/*\r\ngame+game_write+mod+mod_write+default_write_path |gameinfo_path|.\r\ngamebin |gameinfo_path|bin\r\n\/\/ The lines below until the BREAK comment are responsible for the game resources to work properly\r\n\/\/ in Hammer and other Source tools. The default setup assumes that you have everything (Steam, TF2,\r\n\/\/ Source SDK and OF) in the same drive letter\/partition. If you have a different storage configuration,\r\n\/\/ feel free to modify the paths below between quotes (example: D:\\Steam\\steamapps\\common\\Team Fortress 2\\tf).\r\ngame \"\/home\/container\/tf2\/tf\/tf2_misc.vpk\"\r\ngame \"\/home\/container\/tf2\/tf\/tf2_sound_misc.vpk\"\r\ngame \"\/home\/container\/tf2\/tf\/tf2_sound_vo_english.vpk\"\r\ngame \"\/home\/container\/tf2\/tf\/tf2_textures.vpk\"\r\ngame \"\/home\/container\/tf2\/tf\"\r\ngame \"\/home\/container\/tf2\/hl2\/hl2_textures.vpk\"\r\ngame \"\/home\/container\/tf2\/hl2\/hl2_sound_vo_english.vpk\"\r\ngame \"\/home\/container\/tf2\/hl2\/hl2_sound_misc.vpk\"\r\n\/\/ The hl2 folder here is from Source SDK Base 2013 Multiplayer.\r\ngame \"|all_source_engine_paths|hl2\\hl2_misc.vpk\"\r\ngame \"|all_source_engine_paths|hl2\"\r\n\/\/ ========== BREAK ==========\r\nplatform |all_source_engine_paths|platform\/platform_misc.vpk\r\nplatform |all_source_engine_paths|platform\r\ngame+download |gameinfo_path|download\r\n}\r\n}\r\n}\r\nEOF\r\n## fix issue \/w symlink\r\ncd \/mnt\/server\/bin\r\nln -s datacache_srv.so datacache.so\r\nln -s dedicated_srv.so dedicated.so\r\nln -s engine_srv.so engine.so\r\nln -s materialsystem_srv.so materialsystem.so\r\nln -s replay_srv.so replay.so\r\nln -s scenefilecache_srv.so scenefilecache.so\r\nln -s shaderapiempty_srv.so shaderapiempty.so\r\nln -s soundemittersystem_srv.so soundemittersystem.so\r\nln -s studiorender_srv.so studiorender.so\r\nln -s vphysics_srv.so vphysics.so\r\n## more symlink fixes\r\ncd \/mnt\/server\/open_fortress\/bin\r\nln -s server.so server_srv.so", + "container": "ubuntu:18.04", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Game ID", + "description": "The ID corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_APPID", + "default_value": "244310", + "user_viewable": true, + "user_editable": false, + "rules": "required|regex:\/^(244310)$\/", + "field_type": "text" + }, + { + "name": "Game Name", + "description": "The name corresponding to the game to download and run using SRCDS.", + "env_variable": "SRCDS_GAME", + "default_value": "open_fortress", + "user_viewable": true, + "user_editable": false, + "rules": "required|regex:\/^(open_fortress)$\/", + "field_type": "text" + }, + { + "name": "Default Map", + "description": "The default map to use when starting the server.", + "env_variable": "SRCDS_MAP", + "default_value": "dm_2fort", + "user_viewable": true, + "user_editable": true, + "rules": "required|regex:\/^(\\w{1,20})$\/", + "field_type": "text" + }, + { + "name": "Max Players", + "description": "The maximum amount of players allowed on the server.", + "env_variable": "MAXPLAYERS", + "default_value": "24", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:32", + "field_type": "text" + } + ] +} \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/open_fortress/gameinfo.txt b/game_eggs/steamcmd_servers/open_fortress/gameinfo.txt new file mode 100644 index 00000000..c3aadb27 --- /dev/null +++ b/game_eggs/steamcmd_servers/open_fortress/gameinfo.txt @@ -0,0 +1,134 @@ +"GameInfo" +{ + game "Open Fortress" + title "" + title2 "" + gamelogo "1" + developer "https://github.com/AgitationSkeleton/open_fortress/blob/master/credits.txt" + developer_url "https://github.com/KaidemonLP/Open-Fortress-Source" + manual "" + + type "multiplayer_only" + hasportals "0" // gameui.dll + hashdcontent "0" // gameui.dll + nomodels "0" // gameui.dll + nohimodel "0" // gameui.dll + nocrosshair "0" // gameui.dll + advcrosshair "1" // gameui.dll + nodifficulty "1" // gameui.dll + supportsvr "0" // engine.dll + gameui.dll + bots "0" // gameui.dll + nodegraph "1" // engine.dll + perfwizard "0" // unused + SupportsDX8 "0" // unused + SupportsDX9 "1" // unused + SupportsDX10 "0" // unused + SupportsDX11 "0" // unused + SupportsXbox "0" // unused + SupportsXbox360 "0" // unused + SupportsXboxOne "0" // unused + SupportsPS3 "0" // unused + SupportsPS4 "0" // unused + icon "resource/game" + GameData "ofd_fic2.fgd" + InstancePath "maps/instances/" + + hidden_maps + { + "test_speakers" 1 + "test_hardware" 1 + "background01" 1 + "background02" 1 + "background03" 1 + "background04" 1 + "background05" 1 + "background06" 1 + "background07" 1 + "background08" 1 + "background09" 1 + "background12" 1 + "background15" 1 + "ep1_c17_00" 1 + "ep1_c17_00a" 1 + "ep1_c17_01" 1 + "ep1_c17_01a" 1 + "ep1_c17_02" 1 + "ep1_c17_02a" 1 + "ep1_c17_02b" 1 + "ep1_c17_05" 1 + "ep1_c17_06" 1 + "ep1_citadel_00" 1 + "ep1_citadel_00_demo" 1 + "ep1_citadel_01" 1 + "ep1_citadel_02" 1 + "ep1_citadel_02b" 1 + "ep1_citadel_03" 1 + "ep1_citadel_04" 1 + "ep1_background01" 1 + "ep1_background01a" 1 + "ep1_background02" 1 + "ep2_outland_01" 1 + "ep2_outland_01a" 1 + "ep2_outland_02" 1 + "ep2_outland_03" 1 + "ep2_outland_04" 1 + "ep2_outland_05" 1 + "ep2_outland_06" 1 + "ep2_outland_06a" 1 + "ep2_outland_07" 1 + "ep2_outland_08" 1 + "ep2_outland_09" 1 + "ep2_outland_10" 1 + "ep2_outland_10a" 1 + "ep2_outland_11" 1 + "ep2_outland_11a" 1 + "ep2_outland_11b" 1 + "ep2_outland_12" 1 + "ep2_outland_12a" 1 + "ep2_background01" 1 + "ep2_background02" 1 + "ep2_background02a" 1 + "ep2_background03" 1 + "credits" 1 + "vst_lostcoast" 1 + "test" 1 + "sdk_vehicles" 1 + } + + FileSystem + { + SteamAppId 243750 + + SearchPaths + { + game+mod |gameinfo_path|custom/* + game+game_write+mod+mod_write+default_write_path |gameinfo_path|. + gamebin |gameinfo_path|bin + + // The lines below until the BREAK comment are responsible for the game resources to work properly + // in Hammer and other Source tools. The default setup assumes that you have everything (Steam, TF2, + // Source SDK and OF) in the same drive letter/partition. If you have a different storage configuration, + // feel free to modify the paths below between quotes (example: D:\Steam\steamapps\common\Team Fortress 2\tf). + game "/home/container/tf2/tf/tf2_misc.vpk" + game "/home/container/tf2/tf/tf2_sound_misc.vpk" + game "/home/container/tf2/tf/tf2_sound_vo_english.vpk" + game "/home/container/tf2/tf/tf2_textures.vpk" + game "/home/container/tf2/tf" + + game "/home/container/tf2/hl2/hl2_textures.vpk" + game "/home/container/tf2/hl2/hl2_sound_vo_english.vpk" + game "/home/container/tf2/hl2/hl2_sound_misc.vpk" + + // The hl2 folder here is from Source SDK Base 2013 Multiplayer. + game "|all_source_engine_paths|hl2\hl2_misc.vpk" + game "|all_source_engine_paths|hl2" + // ========== BREAK ========== + + platform |all_source_engine_paths|platform/platform_misc.vpk + platform |all_source_engine_paths|platform + + game+download |gameinfo_path|download + + } + } +}