Skip to content

Legacy Configurations

Kozejin edited this page Aug 12, 2024 · 2 revisions

This is the legacy configuration guide for v0.2.x.

Configuring your config.json

This bot supports multiple servers. You do not need to utilize all the features the bot has to offer. I will provide a basic and full feature configuration.

Basic Configuration

  • Server Name: Just the name in the configuration and embeds.
  • RCON_HOST: The IP that connects to your game server.
  • RCON_PORT: The port assigned to your server for RCON user.
  • RCON_PASS: The server admin password used to access the in-game admin.
{
    "PALWORLD_SERVERS": {
        "Server Name": {
            "RCON_HOST": "127.0.0.1",
            "RCON_PORT": 25575,
            "RCON_PASS": "rcon_password"
        }
    }
}

Advanced Configuration

Server Configuration:

  • QUERY_CHANNEL: Channel ID that will post server query information.
  • CONNECTION_CHANNEL: Channel ID that will post the server connection logs.
  • SERVER_PORT: The connection port that will display in the query embed.
  • SERVER_SLOTS: The total amount of players allowed on your server.
  • WHITELIST_ENABLED: True/False statement for enabling the whitelist.

Shutdown Configuration:

This does require a watchdog script for your server!

  • enabled: True/False statement for server shutdown schedule.
  • times: Set restart times based on the 24 hour clock.
  • timezone: Set your timezone for the 24 hour clock.

Additional Configuration:

  • STATUS_TRACKING: Toggles tracking total players online through the bots status.
  • PALGUARD_ACTIVE: Enables PalGuard commands to be ran through the discord bot.
{
    "PALWORLD_SERVERS": {
        "Server Name": {
            "RCON_HOST": "127.0.0.1",
            "RCON_PORT": 25575,
            "RCON_PASS": "rcon_password",
            "SERVER_PORT": 8211,
            "SERVER_SLOTS": 32,
            "QUERY_CHANNEL": 123456789,
            "CONNECTION_CHANNEL": 123456789,
            "WHITELIST_ENABLED": true
        }
    },
    "SHUTDOWN_SCHEDULE": {
        "enabled": false,
        "times": ["06:30", "18:30"],
        "timezone": "America/New_York"
    },
    "STATUS_TRACKING": false,
    "PALGUARD_ACTIVE": false
}

What is a watchdog application?

A watchdog application is a specialized software tool that monitors the status of your server application to ensure it is running correctly. If the script detects that the server has stopped, crashed, or is not responding, it will automatically restart the application to minimize downtime. This is crucial for maintaining server availability, especially for scheduled restarts, as it ensures the server is promptly brought back online without manual intervention. The use of a watchdog script is essential for automated server management processes, providing a fail-safe to keep the server operational.

Examples of Watchdog Applications:

  • TCAdmin
  • Pterodactyl
  • CubeCoders AMP
  • Systemd
  • Windows Task Scheduler
  • Docker

Configuring the Economy

This is the base configuration for the economy.

  • enabled: Enables the economy.
  • currency: The name of your communities currency.
  • invite_reward: Sets the amount of points awarded for inviting friends to the discord.
  • work_reward: Sets the amount of points earned when using the work commands. Example: 20-50 points earned
  • work_timer: The amount of seconds in between each command execution.
  • daily_reward: The amount of points awarded when claiming their daily.
  • daily_timer: The cool down timer for claiming their daily reward.
  • work_description: Gives random prompts when using the work command.
  • role_bonuses: Grants specified roles a percentage based bonus when using commands. Example: Server Boosters get 20% more points when working.
  • vote_enabled: Enables voting support for serverlist.gg.
  • vote_slug: The slug you set for your server.
  • vote_apikey: The API key assigned to your server.
  • vote_reward: The amount of points a user gets for voting every 12 hours.
    "ECONOMY_SETTINGS": {
        "enabled": false,
        "currency": "Points",
        "invite_reward": 100,
        "work_reward": [20, 50],
        "work_timer": 360,
        "daily_reward": 200,
        "daily_timer": 86400,
        "work_description": [
            "Your Pals butchered the invaders and earned {earned_points} {currency}!",
            "Anubis stumbled upon {earned_points} {currency} in the hot tub!",
            "You crafted some ammo and earned {earned_points} {currency}."
        ],
        "role_bonuses": {
            "Server Booster": 20,
            "Regular": 10
        },
        "vote_enabled": false,
        "vote_slug": "server_slug",
        "vote_apikey": "api_key",
        "vote_reward": 100
    }

Configuring Kits

You can find the kits.json.template in the gamedata folder.

Configuring kits in Palbot is a fairly simple process. Just edit the kits.json.template and follow the examples below.

Remember to rename it to kits.json after editing it.

Config Options:

  • commands: This allows you to customize what players will receive with that kit.
  • description: Sets the description of the kit in the economy shop.
  • price: Sets the price of the kit.
    • Settings price to 0 will make it an admin only kit.
  • votereward: Whether you want the kit to be a claimable vote reward.
    • True/False statement.

Basic Commands:

  • Pal: givepal {steamid} Penguin 10
  • Egg: giveegg {steamid} PalEgg_Fire_05
  • Item: give {steamid} HandGun_Default_2 1

Example Config:

{
    "Pal Starter Kit": {
        "commands": [
            "givepal {steamid} Kitsunebi 10",
            "givepal {steamid} Penguin 10",
            "givepal {steamid} Carbunclo 10",
            "givepal {steamid} PinkCat 10"
        ],
        "description": "Gives you 10 of each of the 4 starter pals.",
        "price": 50
    },
    "Huge Egg Kit": {
        "commands": [
            "giveegg {steamid} PalEgg_Electricity_05",
            "giveegg {steamid} PalEgg_Fire_05",
            "giveegg {steamid} PalEgg_Water_05",
            "giveegg {steamid} PalEgg_Dark_05",
            "giveegg {steamid} PalEgg_Dragon_05",
            "giveegg {steamid} PalEgg_Ice_05",
            "giveegg {steamid} PalEgg_Leaf_05"
        ],
        "description": "Gives you 7 huge eggs.",
        "price": 500
    },
    "Handgun Kit": {
        "commands": [
            "give {steamid} HandGun_Default_2 1",
            "give {steamid} HandgunBullet 250"
        ],
        "description": "Gives you a handgun and 250 bullets.",
        "price": 150
    }
}