v0.0.15 — A Python-based monitoring tool for Conan Exiles dedicated servers.
Watches your server log in real time and handles the full startup/shutdown lifecycle: blocks player connections until the server is truly ready, detects hung processes, and sends Discord notifications at every stage.
- Port gating — blocks configured ports via Windows Firewall during startup and shutdown so players can't connect to a half-loaded server (optional, requires admin)
- Zombie process detection — monitors the server process for hangs and can auto-kill it after a configurable timeout
- Discord notifications — webhook-based status updates for every server state change; no bot token required
- Startup delay — extra wait after load detection before opening ports, giving the server time to fully settle
- Per-notification toggles — enable or disable each notification type individually
- Rotating logs — detailed local logs with automatic rotation to keep disk usage in check
- Windows OS
- Python 3.7+
- Administrator privileges (only required if firewall port management is enabled)
- Discord webhook URL (optional)
1. Install dependencies
pip install -r requirements.txt
2. Edit config/config.json
Key settings to configure before first run:
discord_webhook_url— your Discord webhook URLdiscord_enabled— set totrueto enable notificationsfirewall_enabled— set totrueto enable port blocking (requires admin)server.name— displayed as the webhook username in Discordstartup_delay— seconds to wait after load detection before opening ports
3. Run the monitor
!start.cmd
When prompted, select your server's log directory. On a typical Steam install this is:
SteamLibrary\steamapps\common\Conan Exiles Dedicated Server\ConanSandbox\Saved\Logs
The monitor watches ConanSandbox.log for specific state markers:
| Server state | Log pattern detected |
|---|---|
| Starting up | Entered application state 'ConanSandboxStarting' |
| Fully loaded | WorldPersistenceDone |
| Shutdown warning | FPlatformMisc::RequestExit(0) |
| Network shutting down | LogNet: World NetDriver shutdown |
| Fully stopped | Entered application state 'ConanSandboxStopped' |
When each marker is detected, the monitor updates firewall rules, sends a Discord notification, and transitions state accordingly. If the log file is recreated (new server instance), the monitor resets automatically.
Full reference for config/config.json:
{
"discord_enabled": true,
"discord_webhook_url": "your-webhook-url-here",
"server": {
"name": "Conan Exiles Server",
"logs_directory": "",
"startup_delay": 30,
"firewall_enabled": false,
"zombie_detection": {
"enabled": true,
"timeout_minutes": 5,
"auto_kill": true,
"check_interval_seconds": 30
},
"ports": [
{"port": 7777, "proto": "UDP"},
{"port": 7777, "proto": "TCP"},
{"port": 7778, "proto": "UDP"},
{"port": 27015, "proto": "UDP"},
{"port": 25575, "proto": "TCP"}
],
"message_control": {
"startup_notification": true,
"loading_notification": true,
"ready_notification": true,
"shutdown_warning_notification": true,
"network_shutdown_notification": true,
"shutdown_final_notification": true,
"monitor_stop_notification": true,
"zombie_detected_notification": true,
"zombie_killed_notification": true
},
"messages": {
"startup": "[START] Server monitor starting up...",
"loading": "[UPDATE] Server is starting up... Ports blocked for safety.",
"ready": "[SUCCESS] Server is fully loaded and ready for connections!",
"shutdown_warning": "[WARNING] Server is preparing to shut down...",
"network_shutdown": "[WARNING] Server network is shutting down...",
"shutdown_final": "[WARNING] Server has stopped...",
"monitor_stop": "[STOP] Server monitor shutting down...",
"zombie_detected": "[WARNING] Server process is not responding (zombie state detected)!",
"zombie_killed": "[UPDATE] Zombie process was forcefully terminated."
}
}
}Monitors server CPU activity. If the process reports zero CPU usage for longer than timeout_minutes, it is flagged as hung. With auto_kill: true the process is forcefully terminated and a Discord notification is sent. Set enabled: false to disable entirely.
When enabled, ports are blocked at monitor start and whenever the server stops, and unblocked (after startup_delay seconds) once the server is fully loaded. Requires the monitor to run with administrator privileges.
| Problem | Fix |
|---|---|
| "needs administrator privileges" error | Run !start.cmd as Administrator, or set firewall_enabled to false |
| Discord notifications not arriving | Verify discord_webhook_url is correct and discord_enabled is true |
| Zombie detection triggering too early | Increase timeout_minutes — a large map can keep CPU at 0% during loading |
| Monitor not detecting server state changes | Confirm the selected log directory contains ConanSandbox.log |
| Detailed error information | Check the logs/ directory for server_monitor.log and webhook_manager.log |