ARK: Survival Ascended - Server Admin Discord Bot
PatchRaptor is available free to the community, however if you find value in it and wish to show support you can always buy me a coffee 🙂
https://buymeacoffee.com/patchraptor
PatchRaptor is a Python-based toolkit for Windows (Server 2019–2022 & Win 10–11) designed to automate ARK clusters managed via SteamCMD. It allows you to create and customize your own Discord bot via the Developer Portal, configure it effortlessly using our built-in GUI, and manage your entire cluster directly from Discord. To get started, you’ll need to create and configure your own Discord bot. While we'd to offer a hosted bot solution it's just not possible at this stage. Simply launch the application, click 'Start', and your command center is ready.
Your input is incredibly helpful. If you find PatchRaptor useful or have suggestions, please reach out and thank you for being part of this journey
Designed for ease of use, even for non-technical moderators.
- Clickable Menu: The
.menucommand opens a dashboard (interactive for 15 minutes after .menu is triggered). - Context-Aware Help: Clicking a button (e.g., "Server Updates") automatically shows you the available commands.
- Reduced Training: New admins don't need to read the manual; the bot guides them to the right commands.
PatchRaptor takes the stress out of patch days with a robust update engine.
- Auto-Update: Silently monitors Steam for updates every 10 minutes.
- Safe Process: Broadcasts warnings (15m/10m/5m/1m), performs a
SaveWorld, shuts down safely, and updates via SteamCMD, before rebooting safely and sending a discord announcement via Webhook (if configured). - Manual Control: Use
.forceupdatefor emergencies or.cancelto abort a countdown. - Staggered Restarts: servers always restart one-by-one with a 30s delay to prevent host CPU overloads and event/update issues.
Automate your entire cluster's maintenance schedule with simple natural-language commands.
- Flexible Timing: Schedule tasks for specific days (e.g.,
mon fri) or daily (daily). - Granular Control: Target specific maps for reboots or backup the entire cluster at once.
- Easy Control: View, edit and manage it all from Discord.
- Example:
.schedule add backup all daily 06:00
Your data is protected by a "Safety Net" architecture that prevents accidental data loss during restorations.
- Automated Backups: Regular
.ziparchives of your save folders are created automatically. - Smart Restore Process: When you trigger a restore, the bot performs a safety sequence:
- Safety Backup: It immediately backs up your current live save folder (e.g.,
_before_restore_timestamp). - Clean State: It safely clears the existing save directory.
- Restoration: It extracts the selected backup file.
Result: If you restore the wrong backup, your original data is still safe in the generated
_before_restorefolder.
- Safety Backup: It immediately backs up your current live save folder (e.g.,
- Easy Retrieval: List and restore backups directly from Discord.
Setting up a bot shouldn't require battling with raw JSON syntax.
- Visual Interface: A dedicated Python app (
Configurator.py) that lets you add servers and configure settings with standard form fields and checkboxes. - No Syntax Errors: Automatically generates strictly valid JSON. Never worry about a missing comma or mismatched bracket crashing your bot again.
- Path Validation: Use file pickers to safely select your
SteamCMD.exeandShooterGameServer.exepaths, ensuring no typos in your directory structure.
Manage your community effectively while keeping players informed.
- Live Census: Tracks player activity in real-time, feeding live player counts and 7-day averages to the Web Panel (Privacy Focus: No player names are shown on the web, only numbers).
- Cluster Intelligence: Use
.playersfor quick totals, or.players listfor a detailed manifesto of every survivor (Name, SteamID, Map, Uptime). - Global Moderation: One command (
.ban <name>) enforces bans across your entire cluster instantly. - Remote Action: Kick or Ban problem players directly from Discord, without needing to launch the game or expose specific RCON ports.
A lightweight, read-only dashboard for your community controlled by .webpanel on.
- Local Mode: Runs privately on your machine by default. Perfect for local monitoring without setup.
- BYO Cloudflare: Ready to go public? Use the included
setup_tunnel.batto securely link your own domain (e.g.status.yoursite.com). - Secure Authentication: Public access is HTTPS encrypted and locked behind a username/password you configure.
- Private IP Protection: The tunnel allows access without port-forwarding or exposing your home server's IP address.
- Windows OS (Server 2019/2022, Windows 10/11)
- Administrator Access (Required to manage server processes)
- Python 3.10+ (Ensure "Add to PATH" is checked during install)
- SteamCMD (Installed and ready)
- RCON Tool (Ideally gorcon/rcon-cli or similar)
- Startup Scripts: You must have existing
.batfiles to launch your ARK servers.
- Download or Clone this repository.
- Double-click
install_requirements.bat.- Select Option 1 (Production) for standard usage.
- Select Option 2 (Development) if you plan to run tests or build the EXE.
Method A: Using the GUI (Recommended)
- Run
Configurator.py. - General Settings:
- Bot Token: Paste your Discord Bot Token. (Enable "Message Content Intent" in Discord Dev Portal).
- Paths: Set paths for SteamCMD, RCON, etc.
- Servers:
- Add your ARK servers. Point "Path to Start.bat" to your existing startup scripts.
- Click "Save Config".
Method B: Manual Setup
- Copy
config.example.jsontoconfig.json. - Edit
config.jsonwith your text editor.
- Run the Bot: Double-click
PatchRaptor.py.- A GUI dashboard will open showing the bot's status and logs.
- Verify: Check your Discord channel. If the specific "Online" message appears, you are ready!
PatchRaptor includes a secure, read-only web dashboard to view player counts and server status remotely.
- Setup Config:
- Copy
webpanel_config.example.jsontowebpanel_config.json. - Edit the file to set your
adminpassword.
- Copy
- Start the Panel: Run '.webpanel on'
pr-live.py. - Access Locally: Open
http://localhost:8080. - Public Access (Cloudflare Tunnel):
- Run
setup_tunnel.batto initialize setup of the secure tunnel. (launches setup script to configure Cloudflare Tunnel) - Run
start_tunnel.batto bring the tunnel online.
- Run
PatchRaptor.py- Main Application Entry Point (GUI).Configurator.py- Settings Manager.pr-live.py- Standalone Web Panel Server.patchraptor/- Core Logic Package (Managers for RCON, Backup, Discord).
Join our discord for help and to make initial bug reports! Thanks for using PatchRaptor! https://discord.gg/dS3xKYUK96
MIT License. Free to use, modify, and distribute.