Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new Pterodactyl “egg” for hosting the Silksong Multiplayer (SSMP) server, including an installer script and minimal documentation under a new silksong/ directory.
Changes:
- Added a new SSMP egg JSON targeting the
dotnet_9yolk and downloading the latest SSMP release from GitHub during install. - Added a short README for the new Silksong/SSMP egg directory.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
silksong/SSMP.json |
New Pterodactyl egg definition for SSMP (runtime image + startup + install script). |
silksong/README.md |
Basic documentation for the new Silksong SSMP egg directory. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "description": "Hollow Knight: Silksong Multiplayer Server", | ||
| "features": null, | ||
| "docker_images": { | ||
| ".NET 9": "ghcr.io/ptero-eggs/yolks:dotnet_9" |
There was a problem hiding this comment.
The docker_images display name uses a unique .NET 9 label; elsewhere in the repo the Dotnet yolks are typically labeled Dotnet 9 / Dotnet 8 etc. Aligning the label helps keep the panel UI consistent for users browsing images.
| ".NET 9": "ghcr.io/ptero-eggs/yolks:dotnet_9" | |
| "Dotnet 9": "ghcr.io/ptero-eggs/yolks:dotnet_9" |
| }, | ||
| "scripts": { | ||
| "installation": { | ||
| "script": "#!/bin/ash\napk add --no-cache curl unzip jq\n\nmkdir -p /mnt/server\ncd /mnt/server\n\necho \"Getting latest release URL...\"\nDOWNLOAD_URL=$(curl -s https://api.github.com/repos/Extremelyd1/SSMP/releases/latest | jq -r '.assets[] | select(.name == \"SSMPServer-linux.zip\") | .browser_download_url')\n\necho \"Downloading from: ${DOWNLOAD_URL}\"\ncurl -L -o SSMPServer-linux.zip \"${DOWNLOAD_URL}\"\n\necho \"Extracting files...\"\nunzip -o SSMPServer-linux.zip\nrm SSMPServer-linux.zip\n\necho \"Listing files:\"\nls -la\n\necho \"Setting permissions...\"\nchmod +x SSMPServer\n\necho \"Installation complete!\"", |
There was a problem hiding this comment.
The installer script doesn’t validate that DOWNLOAD_URL was successfully resolved (it can be empty/"null" if the asset name changes, the API rate-limits, or the release has no matching asset), and it doesn’t fail fast on command errors. Add a check that DOWNLOAD_URL is non-empty and not null before downloading, and ensure the script exits on failures so installs don’t silently produce a broken server directory.
| "script": "#!/bin/ash\napk add --no-cache curl unzip jq\n\nmkdir -p /mnt/server\ncd /mnt/server\n\necho \"Getting latest release URL...\"\nDOWNLOAD_URL=$(curl -s https://api.github.com/repos/Extremelyd1/SSMP/releases/latest | jq -r '.assets[] | select(.name == \"SSMPServer-linux.zip\") | .browser_download_url')\n\necho \"Downloading from: ${DOWNLOAD_URL}\"\ncurl -L -o SSMPServer-linux.zip \"${DOWNLOAD_URL}\"\n\necho \"Extracting files...\"\nunzip -o SSMPServer-linux.zip\nrm SSMPServer-linux.zip\n\necho \"Listing files:\"\nls -la\n\necho \"Setting permissions...\"\nchmod +x SSMPServer\n\necho \"Installation complete!\"", | |
| "script": "#!/bin/ash\nset -e\napk add --no-cache curl unzip jq\n\nmkdir -p /mnt/server\ncd /mnt/server\n\necho \"Getting latest release URL...\"\nDOWNLOAD_URL=$(curl -fsSL https://api.github.com/repos/Extremelyd1/SSMP/releases/latest | jq -r '.assets[] | select(.name == \"SSMPServer-linux.zip\") | .browser_download_url')\n\nif [ -z \"$DOWNLOAD_URL\" ] || [ \"$DOWNLOAD_URL\" = \"null\" ]; then\n echo \"Failed to resolve download URL for SSMPServer-linux.zip\" >&2\n exit 1\nfi\n\necho \"Downloading from: ${DOWNLOAD_URL}\"\ncurl -fsSL -o SSMPServer-linux.zip \"${DOWNLOAD_URL}\"\n\necho \"Extracting files...\"\nunzip -o SSMPServer-linux.zip\nrm SSMPServer-linux.zip\n\necho \"Listing files:\"\nls -la\n\necho \"Setting permissions...\"\nchmod +x SSMPServer\n\necho \"Installation complete!\"", |
| @@ -0,0 +1,3 @@ | |||
| # SSMP - Silk Song Multiplayer | |||
There was a problem hiding this comment.
The README title uses "Silk Song"; the game name is typically written as "Silksong" (and your description line already uses "Silksong"). Please make the title consistent to avoid confusion/searchability issues.
| # SSMP - Silk Song Multiplayer | |
| # SSMP - Silksong Multiplayer |
| # SSMP - Silk Song Multiplayer | ||
|
|
||
| Pterodactyl Egg for hosting a Hollow Knight: Silksong multiplayer server. |
There was a problem hiding this comment.
This new egg directory isn’t referenced in the repository’s main README game list, which will make it hard for users to discover. Please add silksong to the root README (alphabetically) as required by the new egg submission checklist.
| @@ -0,0 +1,31 @@ | |||
| { | |||
There was a problem hiding this comment.
Most egg JSON files in this repo are named with an egg-*.json prefix (e.g. hytale/egg-hytale.json, spacestation_14/egg-spacestation14.json, openttd/egg-open-t-t-d-server.json). Consider renaming SSMP.json to follow that convention for consistency and easier discovery.
Description
Checklist for all submissions
New egg Submissions