diff --git a/game_eggs/mohaa/egg-mohaa.json b/game_eggs/mohaa/egg-mohaa.json new file mode 100644 index 00000000..b4b392ba --- /dev/null +++ b/game_eggs/mohaa/egg-mohaa.json @@ -0,0 +1,104 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1", + "update_url": null + }, + "exported_at": "2021-09-29T23:01:20+02:00", + "name": "mohaa", + "author": "th3dilli@gmx.at", + "description": null, + "features": null, + "images": [ + "ghcr.io\/parkervcp\/games:mohaa" + ], + "file_denylist": [], + "startup": ".\/mohaa_lnxded +set sv_punkbuster 0 +set fs_basepath {{BASE_PATH}} +set fs_outputpath {{LOG_DIR}} +set dedicated 2 +set sv_maxclients {{SERVER_MAXCLIENTS}} +set net_ip 0.0.0.0 +set net_port {{SERVER_PORT}} +exec server.cfg", + "config": { + "files": "{\r\n \"main\/server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"seta sv_hostname\": \"seta sv_hostname \\\"{{env.SERVER_NAME}}\\\"\",\r\n \"seta sv_maxClients\": \"seta sv_maxClients \\\"{{env.SERVER_MAXCLIENTS}}\\\"\",\r\n \"seta rconPassword\": \"seta rconPassword \\\"{{env.RCON_PASSWORD}}\\\"\",\r\n \"seta g_password\": \"seta g_password \\\"{{env.SERVER_PASSWORD}}\\\"\",\r\n \"Map\": \"Map {{env.SERVER_MAP}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"------ Server Initialization Complete ------\",\r\n \"userInteraction\": []\r\n}", + "logs": "{}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "apk --no-cache add curl\r\n\r\nif [[ ! -d \/mnt\/server\/ ]]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nDOWNLOAD_URL=https:\/\/linuxgsm.download\/MedalofHonorAlliedAssault\/moh_revival_v1.12_RC3.5.1.tar.xz\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"running 'curl -sSL ${DOWNLOAD_LINK} -o mohaaserver.tar.xz'\" \r\ncurl -sSL ${DOWNLOAD_LINK} -o mohaaserver.tar.xz\r\n\r\necho -e \"Unpacking server files\"\r\ntar xvf mohaaserver.tar.xz\r\n\r\nrm mohaaserver.tar.xz\r\n\r\necho -e \"checking for default server.cfg\"\r\n[[ -f main\/server.cfg ]] || curl -sSL ${CONFIG_URL} -o main\/server.cfg\r\n\r\necho -e \"running 'chmod +x .\/mohaa_lnxded'\"\r\nchmod +x .\/mohaa_lnxded", + "container": "alpine:3.4", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "SERVER_MAXCLIENTS", + "description": "", + "env_variable": "SERVER_MAXCLIENTS", + "default_value": "14", + "user_viewable": true, + "user_editable": true, + "rules": "required|integer" + }, + { + "name": "CONFIG_URL", + "description": "URL from where to get the initial server.cfg", + "env_variable": "CONFIG_URL", + "default_value": "https:\/\/raw.githubusercontent.com\/Th3Dilli\/eggs\/master\/game_eggs\/mohaa\/server.cfg", + "user_viewable": true, + "user_editable": true, + "rules": "required|string" + }, + { + "name": "SERVER_NAME", + "description": "The name of the server", + "env_variable": "SERVER_NAME", + "default_value": "MOHAA Server running on Pterodactyl", + "user_viewable": true, + "user_editable": true, + "rules": "required|string" + }, + { + "name": "RCON_PASSWORD", + "description": "Admin password for rcon", + "env_variable": "RCON_PASSWORD", + "default_value": "ADMINPASSWORD", + "user_viewable": true, + "user_editable": true, + "rules": "required|string" + }, + { + "name": "SERVER_MAP", + "description": "Select the map\r\n\r\nobj\/obj_team2\r\ndm\/mohdm7\r\ndm\/mohdm1\r\ndm\/mohdm3\r\ndm\/mohdm2\r\ndm\/mohdm6", + "env_variable": "SERVER_MAP", + "default_value": "dm\/mohdm7", + "user_viewable": true, + "user_editable": true, + "rules": "required|string" + }, + { + "name": "LOG_DIR", + "description": "", + "env_variable": "LOG_DIR", + "default_value": "\/home\/container\/Logs", + "user_viewable": true, + "user_editable": true, + "rules": "required|string" + }, + { + "name": "BASE_PATH", + "description": "", + "env_variable": "BASE_PATH", + "default_value": "\/home\/container", + "user_viewable": true, + "user_editable": true, + "rules": "required|string" + }, + { + "name": "SERVER_PASSWORD", + "description": "", + "env_variable": "SERVER_PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "required|string" + } + ] +} \ No newline at end of file diff --git a/game_eggs/mohaa/server.cfg b/game_eggs/mohaa/server.cfg new file mode 100644 index 00000000..48a6edd2 --- /dev/null +++ b/game_eggs/mohaa/server.cfg @@ -0,0 +1,109 @@ +// General Settings + +seta sv_hostname "SERVERNAME" +seta sv_maxRate "10000" // DO NOT SET OVER 15000 OR YOUR ACCOUNT WILL BE LOCKED! +seta sv_timeout "200" //amount of time before assuming a disconnected state +seta sv_precache "1" +seta sv_fps "19" //max frame rate to clients - increasing will raise pings +seta sv_maxClients "14" +seta sv_allowDownload "0" +seta sv_reconnectlimit "3" +seta sv_zombietime "1" +seta g_inactivity "180" +seta g_forcerespawn "30" +seta g_syncronousclients "0" +seta sv_chatter "1" + + +// Server Passwords + +seta rconPassword "ADMINPASSWORD" +seta g_password "" +seta sv_privateClients "" //LOCKED SERVER PASSWORD +seta sv_privatePassword "" //PRIVATE SLOTS PASSWORD + + +// Server Network Settings + +set sv_flood_waitdelay "10" //not too sure on this, possibly time before flooder is allowed to type again (default) +set sv_flood_persecond "4" //messages per second to be considered a flood ?? (default) +set sv_flood_msgs "4" // ?? (default) +net_noipx "1" //Disallows IPX connections, TCP only (network protocol) + +// Logs + +//Logging +seta logfile "3" +seta g_log "mohserver.log" +seta g_logSync "0" + + +// Extras + +seta sv_maxPing "1000" +seta sv_minPing "0" +seta sv_floodProtect "1" + + +// Game Type Settings - ATTN-May be overwritten by MOH config file below +// Set the type of game: 1=Deathmatch 2= Team match 3 = OBJ 4 = Roundbased + +seta g_gametype "3" +seta timelimit "10" +seta fraglimit "0" + +set g_ft_settings "cvar: meltgun scanvis" + +set g_extgametype_mohdm1 ctf // Free-For-All for Southern France +set g_extgametype_mohdm2 ft // Team-Match on Destroyed Village +set g_extgametype_mohdm3 ftctf // Freeze-Tag on Remagen +set g_extgametype_mohdm4 ftctf // Freeze-Tag on Crossroads +set g_extgametype_mohdm5 ftdem // Round-Based-Match on Snowy Park +set g_extgametype_mohdm6 ftdem // Demolition on Stalingrad +set g_extgametype_mohdm7 ft// Capture-The-Flag on Algiers +set g_extgametype_obj_team1 ftobj // Freeze-Tag-Objective on The Hunt +set g_extgametype_obj_team2 ftobj // Objective-Match on V2 Rocket Facility +set g_extgametype_obj_team3 ftctf // Capture-The-Flag on Omaha Beach +set g_extgametype_obj_team4 ftobj // Freeze-Tag-Objective on The Bridge + +// seta capturelimit "6" +seta sv_gamespy "1" // Show our server in gamespy + +// Game Play Default Settings +//seta g_gravity "800" +//seta g_knockback "1000" +//seta g_quadfactor "3" +//seta g_speed "320" +//seta g_weaponRespawn "5" +//seta g_weaponTeamRespawn "30" //respawn time in seconds for team games +//seta dmflags "0" // 8 (no falling damage) 16 (fixed FOV) 32 (no footsteps) + +// Match Settings + +seta g_doWarmup "0" +seta g_warmup "20" + +// Team Preferences +seta g_teamAutoJoin "0" +seta g_teamForceBalance "1" + +// seta g_friendlyFire "0" +seta g_teamdamage "0" // FF on or Off 1 = on + +// Voting +seta g_allowVote "1" + +// Master Servers +seta sv_master1 "mohmaster.2015.com" +seta sv_master2 "master0.gamespy.com" +seta sv_master3 "master1.gamespy.com" + +set g_mef_settings "meltgun: on" + + +// Banned Players +seta g_filterBan "1" + + +seta sv_maplist "obj/obj_team2 dm/mohdm7 dm/mohdm1 dm/mohdm3 dm/mohdm2 dm/mohdm6" +Map dm/mohdm7