PteroServer-Upkeep is a lightweight Python utility that monitors and automatically starts offline servers hosted on Pterodactyl game panels. Designed for 24/7 uptime, it ensures your servers stay online with minimal intervention.
- β Monitors multiple servers across multiple panels
- π Automatically starts servers that are offline
- π§ Robust retry logic for network resilience
- π Color-coded terminal output for easy status tracking
- π§΅ Multi-threaded for fast concurrent checks
- Python 3.7+
requestscoloramaurllib3
Install dependencies with:
pip install -r requirements.txtCreate a config.json file in the root directory with the following structure:
{
"panels": [
{
"url": "https://your-panel-url.com",
"api_key": "your_api_key_here",
"servers": ["server_id_1", "server_id_2"]
}
]
}url: Your Pterodactyl panel URLapi_key: Your client API key (not admin)servers: List of server UUIDs or identifiers
You can add multiple panel objects to monitor servers across different panels.
Run the script with:
python main.pyIt will continuously monitor and start servers as needed. Press Ctrl+C to stop.
[https://panel.example.com] Server abc123 is running
[https://panel.example.com] Server def456 is offline, starting...
[https://panel.example.com] Server def456 started!Errors and recoveries are also logged with color-coded messages.
- Checks each serverβs status via the Pterodactyl API
- If a server is not running, sends a
startsignal - Uses retry logic to handle temporary API/network failures
- Runs checks every 5 seconds using a thread pool