Files
rp-bot/PTERODACTYLL/PTERODACTYL_DEPLOYMENT.md
2026-06-17 12:54:35 -05:00

3.8 KiB

Pterodactyl Panel Deployment Guide

This guide will help you deploy the OC Bot using Pterodactyl Panel.

What is an Egg?

A Pterodactyl "egg" is a JSON configuration file that defines how your application should be installed, configured, and run within a Pterodactyl Panel server.

Installation Steps

1. Import the Egg into Pterodactyl

  1. Log in to your Pterodactyl Panel as an administrator
  2. Navigate to Admin PanelNests & EggsNests
  3. Click on an existing nest (e.g., "Discord" or create a new one)
  4. Click Import Egg
  5. Copy the contents of egg-oc-bot.json and paste it into the import field
  6. Click Import

2. Create a New Server

  1. Go to ServersCreate New Server
  2. Select the nest containing the OC Bot egg
  3. Select the OC Bot egg
  4. Configure the following settings:

Environment Variables (Required)

These are configurable in the Pterodactyl Panel:

  • Discord Bot Token - Get from Discord Developer Portal

    • Create a new application
    • Add a Bot
    • Enable "Message Content Intent"
    • Copy the token
  • Database Host - MariaDB/MySQL server address

    • Default: localhost
    • Use container IP if running in Docker: host.docker.internal or the service name
  • Database User - Database username

    • Default: root
  • Database Password - Database password

    • Leave empty if no password set
  • Database Name - Database name

    • Default: rp_bot

3. Database Setup

Before starting the bot, ensure your MariaDB database is set up:

CREATE DATABASE rp_bot;

The bot will automatically create the necessary tables on first run.

4. Start the Server

  1. Click the Create Server button
  2. Go to your new server's console
  3. Click Start to launch the bot
  4. You should see "started" in the console when ready

5. Configure Discord

  1. Go to Discord Developer Portal
  2. Select your application
  3. Go to OAuth2URL Generator
  4. Select scopes: bot
  5. Select permissions:
    • Send Messages
    • Manage Messages
    • Manage Webhooks
    • Read Message History
    • Embed Links
  6. Copy the generated URL
  7. Open the URL in your browser and add the bot to your server

Environment Variables Explained

Variable Purpose Example
DISCORD_TOKEN Bot authentication token MTk4NjIyNDgzNDU4Njc4Ng...
DB_HOST Database server address localhost or mariadb
DB_USER Database username root
DB_PASSWORD Database password mypassword
DB_NAME Database name rp_bot
STARTUP_CMD Command to start the bot python bot.py

Troubleshooting

Bot won't start

  • Check Discord token is correct
  • Ensure "Message Content Intent" is enabled in Developer Portal
  • Check logs for database connection errors

Database connection error

  • Verify database is running and accessible
  • Check credentials are correct
  • Ensure database exists: SHOW DATABASES;

Webhook errors

  • Ensure bot has "Manage Webhooks" permission
  • Check Discord token has necessary scopes

File Structure in Panel

server/
├── bot.py
├── database.py
├── requirements.txt
├── .env (auto-generated from variables)
├── README.md
├── SETUP.md
└── cogs/
    ├── __init__.py
    ├── oc.py
    ├── help.py
    ├── utils.py
    └── config.py

Updating the Bot

  1. Upload new files via the file manager
  2. Restart the server
  3. Changes take effect immediately

Support

For issues or questions, refer to SETUP.md or consult the Pterodactyl Documentation.


Coded by Ball Studios 🎨