{"meta":{"slug":"pterodactyl-tiny-block-server","name":"Pterodactyl Tiny Block Server","category":"tiny_block","source":"pelican","owner":"pelican-eggs","repo":"games-standalone","branch":"main","path":"tiny_block/egg-pterodactyl-tiny-block-server.json","rawUrl":"https://raw.githubusercontent.com/pelican-eggs/games-standalone/main/tiny_block/egg-pterodactyl-tiny-block-server.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO","meta":{"version":"PTDL_v2","update_url":null},"exported_at":"2026-09-01T09:29:40+07:00","name":"Tiny Block Server","author":"tinyblock@nosuchgames.com","description":"Open-source headless dedicated server for persistent Tiny Block multiplayer worlds.","features":null,"docker_images":{"Debian":"ghcr.io/parkervcp/yolks:debian"},"file_denylist":[],"startup":"./tinyblock-server.x86_64 --tinyblock-server --world \"{{WORLD_ID}}\" --world-name \"{{WORLD_NAME}}\" --world-mode \"{{WORLD_MODE}}\" --max-players {{MAX_PLAYERS}}","config":{"files":"{}","startup":"{\n    \"done\": \"Tiny Block headless server is online:\"\n}","logs":"{}","stop":"^C"},"scripts":{"installation":{"script":"#!/bin/bash\nset -euo pipefail\n\napt-get update\napt-get install -y --no-install-recommends ca-certificates curl jq tar\n\nmkdir -p /mnt/server\ncd /mnt/server\n\nREPOSITORY=hardtab/tinyblock-server\nASSET=tinyblock-server-linux-x86_64.tar.gz\nif [ -z \"${VERSION:-}\" ] || [ \"${VERSION}\" = \"latest\" ]; then\n    RELEASE_URL=\"https://api.github.com/repos/${REPOSITORY}/releases/latest\"\nelse\n    RELEASE_URL=\"https://api.github.com/repos/${REPOSITORY}/releases/tags/${VERSION}\"\nfi\n\nRELEASE_JSON=$(curl -fsSL \"${RELEASE_URL}\")\nDOWNLOAD_URL=$(printf '%s' \"${RELEASE_JSON}\" | jq -r --arg ASSET \"${ASSET}\" '.assets[] | select(.name == $ASSET) | .browser_download_url' | head -n 1)\nCHECKSUM_URL=$(printf '%s' \"${RELEASE_JSON}\" | jq -r --arg ASSET \"${ASSET}.sha256\" '.assets[] | select(.name == $ASSET) | .browser_download_url' | head -n 1)\n\nif [ -z \"${DOWNLOAD_URL}\" ] || [ \"${DOWNLOAD_URL}\" = \"null\" ] || [ -z \"${CHECKSUM_URL}\" ] || [ \"${CHECKSUM_URL}\" = \"null\" ]; then\n    echo \"Tiny Block Server release assets were not found for ${VERSION:-latest}.\" >&2\n    exit 1\nfi\n\ncurl -fsSL \"${DOWNLOAD_URL}\" -o \"${ASSET}\"\ncurl -fsSL \"${CHECKSUM_URL}\" -o \"${ASSET}.sha256\"\nsha256sum -c \"${ASSET}.sha256\"\ntar -xzf \"${ASSET}\" --strip-components=1 -C /mnt/server\nrm -f \"${ASSET}\" \"${ASSET}.sha256\"\nchmod +x /mnt/server/tinyblock-server.x86_64\n\necho \"Tiny Block Server installation completed.\"","container":"ghcr.io/parkervcp/installers:debian","entrypoint":"bash"}},"variables":[{"name":"Version","description":"GitHub release tag to install, such as v0.1.0, or latest.","env_variable":"VERSION","default_value":"latest","user_viewable":true,"user_editable":true,"rules":"required|string|max:32","field_type":"text"},{"name":"World ID","description":"Stable identifier used for the persistent world save.","env_variable":"WORLD_ID","default_value":"world_community_1","user_viewable":true,"user_editable":true,"rules":"required|string|max:64|regex:/^[A-Za-z0-9_-]+$/","field_type":"text"},{"name":"World Name","description":"Public name displayed in the Tiny Block server browser.","env_variable":"WORLD_NAME","default_value":"Tiny Block Community","user_viewable":true,"user_editable":true,"rules":"required|string|max:64","field_type":"text"},{"name":"World Mode","description":"World generator: skyblock, floating_islands, procedural, one_block, or challenge_run.","env_variable":"WORLD_MODE","default_value":"skyblock","user_viewable":true,"user_editable":true,"rules":"required|string|in:skyblock,floating_islands,procedural,one_block,challenge_run","field_type":"text"},{"name":"Maximum Players","description":"Capacity advertised by this server. Player-hosted P2P worlds remain capped separately.","env_variable":"MAX_PLAYERS","default_value":"16","user_viewable":true,"user_editable":true,"rules":"required|integer|min:1","field_type":"text"}]},"readme":"# Tiny Block Server\n\nOpen-source headless dedicated server for [Tiny Block](https://tinyblock.nosuchgames.com/), a living 2D sandbox game built with Godot 4.\n\nThe egg downloads a verified Linux x86_64 release from [GitHub Releases](https://github.com/hardtab/tinyblock-server/releases), publishes the running world in the official Tiny Block server browser, and stores world saves in the server's persistent home directory.\n\n## Network\n\nTiny Block Server initiates outbound HTTPS and WebSocket connections, and attempts STUN/WebRTC for a lower-latency direct path. It does not require a fixed inbound game port. When ephemeral UDP is unavailable behind Docker or NAT, dedicated servers automatically fall back to the authenticated WebSocket relay.\n\n## Variables\n\n| Variable | Default | Description |\n| --- | --- | --- |\n| `VERSION` | `latest` | GitHub release tag, such as `v0.1.0`, or `latest`. |\n| `WORLD_ID` | `world_community_1` | Stable save identifier. |\n| `WORLD_NAME` | `Tiny Block Community` | Public name displayed in the server browser. |\n| `WORLD_MODE` | `skyblock` | `skyblock`, `floating_islands`, `procedural`, `one_block`, or `challenge_run`. |\n| `MAX_PLAYERS` | `16` | Server-declared capacity; any positive integer is accepted. |\n\nWorld saves persist under `/home/container/.local/share/godot/app_userdata/Tiny Block Server/`.\n\n"}