Upload files to "/"

This commit is contained in:
2026-07-03 17:01:35 +00:00
commit 75222000a0
3 changed files with 201 additions and 0 deletions

102
iw4x-custom-egg.json Normal file
View File

@@ -0,0 +1,102 @@
{
"_comment": "IW4X egg rebuilt for a custom 32-bit wine image. No Steam login. Game files supplied by you; IW4X files fetched from GitHub at install.",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2026-07-03T00:00:00+00:00",
"name": "IW4x (Custom 32-bit Wine)",
"author": "you@yourlab.local",
"description": "IW4x dedicated server for Call of Duty: Modern Warfare 2 (2009), running on a custom 32-bit Wine image. Game files are provided by the operator; IW4X client files are fetched from GitHub via the official launcher.",
"features": null,
"docker_images": {
"IW4X Wine (custom 32-bit)": "REGISTRY.your-lab.local/iw4x-wine:latest"
},
"file_denylist": [],
"startup": "bash ./start-iw4x.sh",
"config": {
"files": "{\r\n \"userraw/server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"set g_password\": \"set g_password \\\"{{server.build.env.SERVER_PASSWORD}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Sending heartbeat to master\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!/bin/bash\r\n# IW4X install script - NO STEAM LOGIN.\r\n# Game (MW2) files are supplied by the operator via upload / volume.\r\n# This script only lays down the IW4X launcher, client dll, rawfiles,\r\n# server configs, and the startup wrapper.\r\n\r\nset -e\r\napt-get update && apt-get install -y --no-install-recommends curl wget unzip tar xz-utils ca-certificates\r\n\r\ncd /mnt/server\r\n\r\n## --- IW4X launcher (Linux) ---\r\necho \"Fetching IW4X launcher...\"\r\nwget -q https://github.com/iw4x/launcher/releases/latest/download/launcher-x86_64-linux-glibc.tar.xz -O launcher.tar.xz || \\\r\n wget -q https://github.com/iw4x/launcher/releases/download/v1.1.8-b.18/launcher-1.1.8-b.18-x86_64-linux-glibc.tar.xz -O launcher.tar.xz\r\ntar xf launcher.tar.xz\r\nrm -f launcher.tar.xz\r\nchmod +x iw4x-launcher || true\r\n\r\n## --- IW4X client dll (the mod itself) ---\r\necho \"Fetching iw4x.dll...\"\r\ncurl -L https://github.com/iw4x/iw4x-client/releases/latest/download/iw4x.dll -o iw4x.dll\r\n\r\n## --- IW4X raw files (assets + iw4x.exe) ---\r\necho \"Fetching raw files...\"\r\ncurl -L https://github.com/iw4x/iw4x-rawfiles/releases/latest/download/release.zip -o release.zip\r\nunzip -o release.zip -d /mnt/server\r\nrm -f release.zip\r\n\r\n## --- Server configs + launch scripts ---\r\necho \"Fetching server configs...\"\r\nwget -q https://github.com/iw4x/iw4-server-configs/archive/refs/heads/main.zip -O configs.zip\r\nunzip -o configs.zip\r\ncp -rf iw4-server-configs-main/* /mnt/server/ 2>/dev/null || true\r\nrm -rf iw4-server-configs-main configs.zip\r\nrm -f LICENSE README.md 2>/dev/null || true\r\n\r\necho \"-----------------------------------------\"\r\necho \"IW4X files installed.\"\r\necho \"IMPORTANT: upload your legally-owned MW2 game files into /home/container\"\r\necho \"(iw4mp.exe and the game assets) if they are not already present.\"\r\necho \"Also upload start-iw4x.sh to /home/container and it will be used at boot.\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io/pterodactyl/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Mod Dir",
"description": "Name of the directory where the mod lives (fs_game). Leave blank for none.",
"env_variable": "MOD_DIR",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Server Port",
"description": "UDP port the server listens on (default 28960).",
"env_variable": "SERVER_PORT",
"default_value": "28960",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "LAN Mode",
"description": "0 = public (send heartbeats to master list). 1 = LAN/unlisted.",
"env_variable": "LAN_MODE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Server Config File",
"description": "Which cfg in userraw/ to exec. server.cfg (dedicated) or partyserver.cfg (lobby).",
"env_variable": "SERVER_CFG",
"default_value": "server.cfg",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Log File",
"description": "Enable server logging (1 on, 0 off).",
"env_variable": "LOG_FILE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Server Name",
"description": "Sets sv_hostname. Color codes: ^1 Red ^2 Green ^3 Yellow ^4 Blue ^5 Cyan ^6 Pink ^7 White.",
"env_variable": "SERVER_NAME",
"default_value": "My IW4X Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:100",
"field_type": "text"
},
{
"name": "Server Password",
"description": "Leave blank for public, or set a password for a private server.",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:100",
"field_type": "text"
}
]
}