diff --git a/README.md b/README.md index a33b6430..8a092f3a 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ * [Mindustry](mindustry) * [Minetest](minetest) * [Medal of Honor: Allied Assault](mohaa) +* [Nazi Zombies: Portable](nazi_zombies_portable) * [Neverwinter Nights: Enhanced Edition](neverwinter_nights_ee) * [OpenArena](openarena) * [OpenRA](openra) diff --git a/nazi_zombies_portable/README.md b/nazi_zombies_portable/README.md new file mode 100644 index 00000000..9d1ad672 --- /dev/null +++ b/nazi_zombies_portable/README.md @@ -0,0 +1,19 @@ +# Nazi Zombies: Portable (NZ:P) + +Nazi Zombies: Portable is a project that allows you to play Call of Duty: Zombies on a LOT of devices/platforms, from Windows to Linux to Browser to Nintendo Switch to PSP to PlayStation VITA (you get the idea). +It is based on the FTEQW engine and this egg can be used as a plain FTEQW egg if you desire. + +## Server Ports + +| Port | default | +|-------------------------------|---------| +| Game WS/TCP (for Web Clients) | 27500 | +| Game UDP (for Native Clients) | 27500 | + +### Notes + +Resources pertaining to NZ:P Native Client download, browser release and documentation. + +* [NZ:P Native](https://github.com/nzp-team/nzportable/releases) +* [NZ:P Browser](https://nzp.gay) +* [NZ:P Documentation](https://docs.nzp.gay) diff --git a/nazi_zombies_portable/egg-nazi-zombies-portable.json b/nazi_zombies_portable/egg-nazi-zombies-portable.json new file mode 100644 index 00000000..a8c60845 --- /dev/null +++ b/nazi_zombies_portable/egg-nazi-zombies-portable.json @@ -0,0 +1,77 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-06-24T08:55:54+00:00", + "name": "Nazi Zombies: Portable", + "author": "jordanadamsbusiness@outlook.com", + "uuid": "8569960f-865d-40ad-bdb0-aff8368f1e5a", + "description": "NZ:P (Nazi Zombies: Portable) is based off of the FTEQW (Fore Thought Engine Quake World). This egg is specifically made for use with NZ:P (just downloads assets and QuakeC from NZ:P repositories) but there is nothing stopping you from using it as a general FTEQW egg given the NZ:P fork of FTEQW only added fog to the client (and added SDL which caused issues with arguments being eaten preventing dedicated flag from being read) which is why upstream FTEQW is used.", + "features": null, + "docker_images": { + "Debian": "ghcr.io\/parkervcp\/yolks:debian" + }, + "file_denylist": [], + "startup": ".\/fteqw-sv64 -dedicated +sv_port {{SERVER_PORT}} +sv_port_tcp {{SERVER_PORT}} +com_protocolname {{PROTOCOL}} +sv_mintic {{TICKRATE}} +map {{MAP}} {{GAME_ARGS}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"======== Nazi Zombies Portable Initialized ========\"\r\n}", + "logs": "{}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Nazi Zombies: Portable (NZ:P) Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n# FTEQW (Engine)\r\ncurl -sSL -o fteqw-sv_linux64.zip https:\/\/www.fteqw.org\/dl\/fteqw-sv_linux64.zip\r\nunzip -o fteqw-sv_linux64.zip -d \/mnt\/server\r\n\r\n# Assets\r\nASSETS_LATEST_VERSION=$(curl -L -s -H 'Accept: application\/json' https:\/\/github.com\/nzp-team\/assets\/releases\/latest | jq -r '.tag_name')\r\ncurl -sSL -o pc-nzp-assets.zip \"https:\/\/github.com\/nzp-team\/assets\/releases\/download\/$ASSETS_LATEST_VERSION\/pc-nzp-assets.zip\"\r\nunzip -o pc-nzp-assets.zip -d \/mnt\/server\r\n\r\n# QuakeC\r\nQUAKEC_LATEST_VERSION=$(curl -L -s -H 'Accept: application\/json' https:\/\/github.com\/nzp-team\/quakec\/releases\/latest | jq -r '.tag_name')\r\ncurl -sSL -o fte-nzp-qc.zip \"https:\/\/github.com\/nzp-team\/quakec\/releases\/download\/$QUAKEC_LATEST_VERSION\/fte-nzp-qc.zip\"\r\ncurl -sSL -o standard-nzp-qc.zip \"https:\/\/github.com\/nzp-team\/quakec\/releases\/download\/$QUAKEC_LATEST_VERSION\/standard-nzp-qc.zip\"\r\nunzip -o fte-nzp-qc.zip -d \/mnt\/server\/nzp\r\nunzip -o standard-nzp-qc.zip -d \/mnt\/server\/nzp\r\n\r\n# CHMOD (not needed but be certain)\r\nchmod +x \/mnt\/server\/fteqw-sv64\r\n# Cleanup\r\nrm fteqw-sv_linux64.zip pc-nzp-assets.zip fte-nzp-qc.zip standard-nzp-qc.zip\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:alpine", + "entrypoint": "ash" + } + }, + "variables": [ + { + "sort": null, + "name": "Protocol", + "description": "NZ:P Native Clients - `NZP-REBOOT`.\r\nNZ:P Web Clients - `NZP-REBOOT-WEB`.\r\n\r\nHit your \"`\/~\" key on your keyboard, this will open console, then you will type `connect ip:port` for native clients, for web clients you would type `connect ws:\/\/ip:port`. In addition, you MUST be on the HTTP version of the website you are playing the web client on, otherwise the browser will block the request", + "env_variable": "PROTOCOL", + "default_value": "NZP-REBOOT", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:50", + "field_type": "text" + }, + { + "sort": null, + "name": "Tickrate", + "description": "Think of this like fps, the default value is 1 frame per 45 ms (0.045 seconds) which is ~22 fps, 30 fps is ~33.3 ms, 60 fps is ~16.6ms, the reason the tickrate is low is due to zombies being bandwidth heavy (especially in the higher rounds), take caution when changing this, but if you up the tickrate, it may fix physics bugs like zombies getting stuck on terrain.", + "env_variable": "TICKRATE", + "default_value": "0.045", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric|max:20", + "field_type": "text" + }, + { + "sort": null, + "name": "Map", + "description": "The map to load, you can find a list via `listmaps`, default map is ndu otherwise known as \"Nacht der Untoten\"", + "env_variable": "MAP", + "default_value": "ndu", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20", + "field_type": "text" + }, + { + "sort": null, + "name": "Additional Game Arguments", + "description": "`+cvar value` is the format for changing the cvars", + "env_variable": "GAME_ARGS", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:200", + "field_type": "text" + } + ] +} \ No newline at end of file diff --git a/nazi_zombies_portable/egg-pterodactyl-nazi-zombies--portable.json b/nazi_zombies_portable/egg-pterodactyl-nazi-zombies--portable.json new file mode 100644 index 00000000..07da42b7 --- /dev/null +++ b/nazi_zombies_portable/egg-pterodactyl-nazi-zombies--portable.json @@ -0,0 +1,72 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-06-24T10:54:48+02:00", + "name": "Nazi Zombies: Portable", + "author": "jordanadamsbusiness@outlook.com", + "description": "NZ:P (Nazi Zombies: Portable) is based off of the FTEQW (Fore Thought Engine Quake World). This egg is specifically made for use with NZ:P (just downloads assets and QuakeC from NZ:P repositories) but there is nothing stopping you from using it as a general FTEQW egg given the NZ:P fork of FTEQW only added fog to the client (and added SDL which caused issues with arguments being eaten preventing dedicated flag from being read) which is why upstream FTEQW is used.", + "features": null, + "docker_images": { + "Debian": "ghcr.io\/parkervcp\/yolks:debian" + }, + "file_denylist": [], + "startup": ".\/fteqw-sv64 -dedicated +sv_port {{SERVER_PORT}} +sv_port_tcp {{SERVER_PORT}} +com_protocolname {{PROTOCOL}} +sv_mintic {{TICKRATE}} +map {{MAP}} {{GAME_ARGS}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"======== Nazi Zombies Portable Initialized ========\"\r\n}", + "logs": "{}", + "stop": "quit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Nazi Zombies: Portable (NZ:P) Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n# FTEQW (Engine)\r\ncurl -sSL -o fteqw-sv_linux64.zip https:\/\/www.fteqw.org\/dl\/fteqw-sv_linux64.zip\r\nunzip -o fteqw-sv_linux64.zip -d \/mnt\/server\r\n\r\n# Assets\r\nASSETS_LATEST_VERSION=$(curl -L -s -H 'Accept: application\/json' https:\/\/github.com\/nzp-team\/assets\/releases\/latest | jq -r '.tag_name')\r\ncurl -sSL -o pc-nzp-assets.zip \"https:\/\/github.com\/nzp-team\/assets\/releases\/download\/$ASSETS_LATEST_VERSION\/pc-nzp-assets.zip\"\r\nunzip -o pc-nzp-assets.zip -d \/mnt\/server\r\n\r\n# QuakeC\r\nQUAKEC_LATEST_VERSION=$(curl -L -s -H 'Accept: application\/json' https:\/\/github.com\/nzp-team\/quakec\/releases\/latest | jq -r '.tag_name')\r\ncurl -sSL -o fte-nzp-qc.zip \"https:\/\/github.com\/nzp-team\/quakec\/releases\/download\/$QUAKEC_LATEST_VERSION\/fte-nzp-qc.zip\"\r\ncurl -sSL -o standard-nzp-qc.zip \"https:\/\/github.com\/nzp-team\/quakec\/releases\/download\/$QUAKEC_LATEST_VERSION\/standard-nzp-qc.zip\"\r\nunzip -o fte-nzp-qc.zip -d \/mnt\/server\/nzp\r\nunzip -o standard-nzp-qc.zip -d \/mnt\/server\/nzp\r\n\r\n# CHMOD (not needed but be certain)\r\nchmod +x \/mnt\/server\/fteqw-sv64\r\n# Cleanup\r\nrm fteqw-sv_linux64.zip pc-nzp-assets.zip fte-nzp-qc.zip standard-nzp-qc.zip\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:alpine", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Protocol", + "description": "NZ:P Native Clients - `NZP-REBOOT`.\r\nNZ:P Web Clients - `NZP-REBOOT-WEB`.\r\n\r\nHit your \"`\/~\" key on your keyboard, this will open console, then you will type `connect ip:port` for native clients, for web clients you would type `connect ws:\/\/ip:port`. In addition, you MUST be on the HTTP version of the website you are playing the web client on, otherwise the browser will block the request", + "env_variable": "PROTOCOL", + "default_value": "NZP-REBOOT", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:50", + "field_type": "text" + }, + { + "name": "Tickrate", + "description": "Think of this like fps, the default value is 1 frame per 45 ms (0.045 seconds) which is ~22 fps, 30 fps is ~33.3 ms, 60 fps is ~16.6ms, the reason the tickrate is low is due to zombies being bandwidth heavy (especially in the higher rounds), take caution when changing this, but if you up the tickrate, it may fix physics bugs like zombies getting stuck on terrain.", + "env_variable": "TICKRATE", + "default_value": "0.045", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric|max:20", + "field_type": "text" + }, + { + "name": "Map", + "description": "The map to load, you can find a list via `listmaps`, default map is ndu otherwise known as \"Nacht der Untoten\"", + "env_variable": "MAP", + "default_value": "ndu", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:20", + "field_type": "text" + }, + { + "name": "Additional Game Arguments", + "description": "`+cvar value` is the format for changing the cvars", + "env_variable": "GAME_ARGS", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:200", + "field_type": "text" + } + ] +} \ No newline at end of file