Commands

POI & Channel Management
/addpoi <server_name> <name> <x> <z> [radius] [embed_image] [embed_title] [embed_description]

Create a new POI and channel. Optionally set discovery embed image, title, and description.

/editpoiwelcome <server_name> <poi_name> <welcome_message>

Set a custom welcome message for a POI. Supports placeholders: {user}, {poi}, {x}, {z}, {mapurl}.

/poi_welcome_enable <server_name>

Enable POI channel welcome messages (default ON).

/poi_welcome_disable <server_name>

Disable POI channel welcome messages (DM-only).

/removepoi <server_name> <name>

Delete a POI and its channel

/listpois <server_name>

List all POIs

/listduplicatepois <server_name>

List all POIs (including duplicates)

/checkpoi <server_name> <name>

Show details for a POI

/setlog type:<general|npc_feed|poi|quest|bulletin|economy> channel:<#channel>

Set log channels by type, with general as fallback.

/list_logchannels

List all configured log channels for this server

/setdiscoveryimage <image_url> [poi_name]

Set image for discovery DMs/logs globally or for a specific POI.

NPC Quest System
/createquest <server_name> <x> <z> <quest_name> <dialogue> [npc_name] [required_items] [required_role] [required_quest] [reward_material] [reward_material_qty] [reward_wallet] [create_reward_role] [dm_embed_image] [dm_attachment] [radius]

Create a new NPC quest zone with optional requirements/rewards and DM media fields.

/removequest <server_name> <npc_name>

Remove a registered NPC quest zone.

/editquest <server_name> <quest_name> [dialogue] [required_items] [description] [required_role] [required_quest] [reward_role] [reward_material] [reward_material_qty] [reward_wallet] [dm_embed_image] [dm_attachment] [clear_*]

Edit quest text, gates, rewards, and optional DM media. Use clear options to remove fields.

/listquests <server_name>

List all registered NPC quest zones.

/spawn_npc <server_name> <npc_type> <x> <z>

Spawn a default NPC at a location.

/remove_npc_spawn <server_name> <event_name>

Remove an NPC event and event spawn from the server and DB.

/submitquest_proof <quest_name> <proof_url>

Submit quest proof (e.g., screenshot) for review.

/approvequest <server_name> <quest_name> @user

Approve a player's quest submission and assign reward role.

/resetquest <server_name> <quest_name> @user

Reset a player's quest state.

/queststatus <server_name>

Show your quest progress/status.

/setlog type:<quest> channel:<#channel>

Set dedicated channel for quest submissions and quest-related logs.

/prison <server_name> @user [remove] [auto_restart_on_deploy] [auto_restart_on_release] [ban_on_death] [ban_on_relog] [relog_threshold] [relog_window_minutes]

Manual prison command for linked online players. Supports release/cleanup and per-case enforcement/restart overrides.

Bulletin Board System
/bulletin_create <name> <x> <z>

Create a new bulletin board zone, channel, and role.

/bulletin_remove <name>

Remove a bulletin board and all its messages.

/bulletin_list [page]

List all boards and messages per board, paginated.

/bulletin_post <server_name> [message] [image]

Post a text message and/or image to the board. Anonymous posts.

/bulletin_view_image [server_name] [message_id]

View images from bulletin posts via selection or direct ID.

/bulletin_post_delete <board_name> <message_id>

Delete a specific message from a board.

Bulletin Zone Entry/Exit

Entry to zone grants access and DM prompt; exit removes access.

Bulletin Message Types

Text posts use PNG note overlay. Image posts show uploaded files. Combined posts show both.

Bulletin Stats

Boards visited and messages posted are tracked and shown in /poi_stats.

/setlog type:<bulletin> channel:<#channel>

Set dedicated channel for bulletin board activity logs.

Player Linking
/linkplayer <server_name> <ingame_name> @user

Link a Discord user to an in-game name

/unlinkplayer <server_name> <xbox_name>

Unlink a player

/poilinkedplayers <server_name>

List all linked players

/clearplayers <server_name>

Remove all player links

Server Management
/add_server <server_name> <token> <server_id> [map]

Add a Nitrado server for this guild (Admin only)

/edit_server <server_name> <token> <server_id> [map]

Edit a configured Nitrado server (Admin only)

/remove_server <server_name>

Remove a configured Nitrado server (Admin only)

/set_map <server_name> <map>

Set the map for a configured server (Admin only)

/restart_server <server_name>

Restart a configured game server (Admin only)

/soft_wipe <server_name>

Soft wipe a configured game server (Admin only)

/setautorestart <server_name> <interval> <#alert_channel> [message]

Set up automated server restarts with custom intervals and alerts (Admin only)

/viewautorestarts

View all automated restart tasks for this guild (Admin only)

/editautorestart <task_id> [interval] [#channel] [message] [enabled]

Edit an existing automated restart task (Admin only)

/removeautorestart <task_id>

Remove an automated restart task (Admin only)

/list_servers

List all configured servers (Admin only)

/plon <server_name>

Show ALL online players (linked + unlinked) with map coordinates

/plon_vc_create <server_name>

Create voice channel showing total online player count (auto-updates)

Gathering & Crafting System
/gather gather <server_name> <zone_name> <material>

Gather a material in the selected zone. You must be physically inside that zone.

/gather mine <server_name> <zone_name> <material>

Alias of gather (mine).

/gather hunt <server_name> <zone_name> <material>

Alias of gather (hunt).

/gather scavenge <server_name> <zone_name> <material>

Alias of gather (scavenge).

/gather scrap <server_name> <zone_name> <material>

Alias of gather (scrap).

/gather zone create <server_name> <zone_name> <x> <z> <radius> [cooldown_minutes]

Admin: Create a gather zone. Default cooldown is 5 minutes.

/gather zone edit <server_name> <zone_name> [x] [z] [radius] [cooldown_minutes]

Admin: Edit gather zone coordinates, radius, or cooldown.

/gather zone set_allowed <server_name> <zone_name> <material>

Admin: Allow an individual material in a zone.

/gather zone set_allowed_category <server_name> <zone_name> <category>

Admin: Allow an entire material category in a zone.

/gather zone remove_allowed_category <server_name> <zone_name> <category>

Admin: Remove an allowed material category from a zone.

/gather zone set_access <server_name> <zone_name> <public|role|quest|event-only>

Admin: Set zone access rules.

/gather zone list <server_name>

Admin: List gather zones for a server.

/gather zone delete <server_name> <zone_name>

Admin: Delete a gather zone.

/economy material create <name> [category]

Admin: Create a material with optional category.

/economy material delete <name>

Admin: Delete a material.

/economy material view <name>

Admin: View a material.

/economy material list

Admin: List all materials with pagination buttons.

/economy material list_categories

Admin: List material categories and items with pagination buttons.

/economy material set_category <name> [category]

Admin: Set or clear a material category.

/economy inventory <server_name>

View your materials and crafted items.

/economy craftlog <server_name>

View your recent crafts.

/economy give <server_name> @user <item> <amount>

Staff/Trader: Give a material or crafted item.

/economy trade <server_name> @user <item> <amount>

Trade items with another player. Materials with sell disabled cannot be traded.

/economy sell <server_name> <item> <amount>

Sell a material for currency (if enabled). Crafted items are not sellable via this command.

/economy balance <server_name> [@user]

View your wallet/bank. Admin/Staff can optionally view another user balance.

/economy bank <server_name> <amount>

Deposit wallet funds into your bank.

/economy withdraw <server_name> <amount>

Withdraw funds from your bank to your wallet.

/economy pay <server_name> @user <amount>

Pay another player from your wallet.

/economy add <server_name> <amount> [user|everyone]

Staff/Trader: Add currency to a user or everyone.

/economy remove <server_name> <amount> [user|everyone]

Staff/Trader: Remove currency from a user or everyone.

/economy policy_view <server_name>

Staff/Trader: View starting-balance, death-wipe, and trader-role policy.

/economy policy_set <server_name> [...]

Staff/Trader: Set starting balance, death wipe behavior, and trader role.

/economy wipe_audit <server_name> [@user] [limit]

Staff/Trader: View recent economy death-wipe events.

/crafting recipe create <name>

Admin: Create a recipe.

/crafting recipe add_material <name> <material> <amount>

Admin: Add a material to a recipe.

/crafting recipe remove_material <name> <material>

Admin: Remove a material from a recipe.

/crafting recipe set_entity <name> <classname> [quantity]

Admin: Set recipe result classname/quantity.

/crafting recipe set_material <name> <material> [quantity]

Admin: Set recipe result material (adds to inventory; no delivery needed).

/crafting recipe set_role <name> [role]

Admin: Set required role for a recipe. Leave role empty to clear and allow everyone again.

/crafting recipe list

List recipes with pagination buttons.

/crafting recipe view <name>

View a recipe (materials paginated when large).

/crafting recipe delete <name>

Admin: Delete a recipe.

/crafting craft <server_name> <recipe_name>

Craft an item from a recipe.

/crafting delivery <server_name> <crafted_item> <mode>

Deliver a crafted item (manual/player/workbench/locker).

/crafting delivery_test <server_name> <x> <y> <z>

Admin: Test delivery spawn.

/crafting set_location <server_name> <locker|workbench> <x> <y> <z>

Set your locker/workbench spawn location.

/crafting locker_clear <server_name> @user <locker|workbench>

Admin: Clear a user locker/workbench placement.

Gather Allow Rules

A gather material is valid when explicitly allowed OR its category is allowed in that zone.

Pigeon Coops & Interception
/pigeon create_coop <server_name> <coop_name> <mode> <radius> <risk_multiplier> <weather_risk> [x] [y] [z] [poi_tag] [zone_tag] [alert_channel] [log_channel] [interceptor_role]

Admin/Staff: Create a coop zone and deploy coop JSON spawn using manual coordinates or your player location.

/pigeon view_coops <server_name>

Admin/Staff: List all configured coops for a server.

/pigeon view_coop <server_name> <coop_name>

Admin/Staff: View a single coop config, tags, radius, and risk values.

/pigeon set_intercept_chance <server_name> <intercept_chance> <shootdown_chance>

Admin/Staff: Set default success percentages (0-100) for interceptor actions.

/pigeon set_intercept_cooldown <server_name> <seconds>

Admin/Staff: Set per-user cooldown (seconds) between intercept attempts.

/pigeon delete_coop <server_name> <coop_name>

Admin/Staff: Delete a coop record.

/pigeon set_distance <server_name> <coop_name> <risk_multiplier>

Admin/Staff: Update coop risk multiplier.

/pigeon toggle_weather_risk <server_name> <coop_name> <on|off>

Admin/Staff: Enable/disable weather risk modifier on a coop.

/pigeon set_alert_channel <server_name> <coop_name> <#channel>

Admin/Staff: Set the channel where interception alerts are posted when a flight enters an intercept window.

/pigeon set_log_channel <server_name> <coop_name> <#channel>

Admin/Staff: Set the channel where pigeon outcome logs are posted (delivered/intercepted/lost/shot down).

/pigeon set_grace_minutes <server_name> <minutes>

Admin/Staff: Set grace window minutes for coop send validation.

/pigeon set_log_mode <server_name> <preview|hash>

Admin/Staff: Set log detail format. preview shows short message text; hash logs only content hash for privacy.

/pigeon set_interceptor_role <server_name> <@role>

Admin/Staff: Allow this role to run /pigeon intercept.

/pigeon remove_interceptor_role <server_name> <@role>

Admin/Staff: Remove interceptor access role.

/pigeon send <server_name> <@player> <letter>

Player: Send a letter while inside a coop zone (or grace window). Applies distance/risk/ETA logic.

/pigeon track <server_name>

Player: Show your latest pigeon flight state (In Flight/Delayed/Under Fire/Delivered/etc).

/pigeon intercept <server_name> <intercept|shootdown> [target]

Role-gated: Choose intercept or shootdown on an active flight. Optional target uses autocomplete with readable labels.

Permission Model

Admin subcommands use configured staff admin access. Send/track are player commands. Intercept is gated only by configured interceptor roles.

Player Utilities
/location <server_name> @user

Show a linked player's current location

/link_gamertag <server_name> <ingame_name>

Link your Discord to your in-game name

/unlink_gamertag <server_name>

Unlink your Discord from your in-game name

/stats

Show your POI & Bulletin statistics

Broadcast System
/broadcast text channel:<#text> message:<text> [role:@role]

Send a public text broadcast to a channel. Optionally ping a role.

/broadcast mp3 channel:<#text> mp3:<file> [role:@role]

Send a public MP3 broadcast to a text channel. Optionally ping a role.

/broadcast voice channel:<#voice> mp3:<file> [role:@role] [announce_channel:<#text>]

Play an MP3 in a voice channel. Optionally announce in text and ping a role.

/broadcast schedule name:<name> channel:<#voice> mp3:<file> start_time:<HH:MM> end_time:<HH:MM> interval:<minutes> [role:@role] [announce_channel:<#text>]

Schedule a recurring MP3 broadcast in a voice channel. Optionally announce in a text channel and ping a role.

/broadcast list

List all scheduled broadcasts with details.

/broadcast remove broadcast_id:<id>

Remove a scheduled broadcast by ID.

/broadcast play broadcast_id:<id>

Play a scheduled broadcast immediately in its configured voice channel.

/broadcast stop broadcast_id:<id>

Mark a scheduled broadcast as inactive.

Moderation
/ban <@user> [reason]

Ban a user. Detailed log (account age, join date, executor, reason).

/kick <@user> [reason]

Kick a user. Detailed embed + log channel output.

/purge <amount> [reason]

Bulk delete 1–100 recent messages (records range & reason).

/role add user:<@user> role:<@role>

Add a role to a user (Manage Roles required; respects hierarchy).

/role remove user:<@user> role:<@role>

Remove a role from a user (Manage Roles required; respects hierarchy).

/role create name:<text> [colour:#RRGGBB|random]

Create a new role with optional colour (uses default if omitted).

/role delete role:<@role>

Delete a role (Manage Roles required; respects hierarchy).

/role mass add role:<@role> from_role:<@role>

Give target role to all members who have the source role.

/role mass remove role:<@role> from_role:<@role>

Remove target role from all members who have the source role.

/stats_reset_all

Reset all player statistics for a server.

/stats_reset

Reset player statistics for a specific server.

/ban

Ban a user from a selected server.

/ban_list

List all banned users for a selected server.

/ban_remove

Unban a user from a selected server.

/whitelist

Whitelist users for a selected server.

/whitelist_remove

Remove a user from the whitelist for a selected server.

/whitelist_list

Show all whitelisted users for a selected server.

Misc & Debug
/debugconfig

Show the raw config for this server

/poihelp

Show the interactive help menu

/setlog type:<general|npc_feed|poi|quest|bulletin|economy> channel:<#channel>

Set any log channel type (including economy death-wipe alerts).

/join_leave set_channel join:<#channel> leave:<#channel>

Set join/leave announcement channels (Admin only).

/join_leave configure join:<true/false> leave:<true/false> set_title:<text> set_discription:<text> set_thumbnail:<url> set_image:<url> set_colour:<hex>

Configure join/leave embeds (Admin only).

/join_leave edit join:<true/false> leave:<true/false> set_title:<text> set_discription:<text> set_thumbnail:<url> set_image:<url> set_colour:<hex>

Edit join/leave embeds (Admin only).

/join_leave enable

Enable join/leave system (Admin only).

/join_leave disable

Disable join/leave system (Admin only).

/economy policy_view <server_name>

View current economy policy (starting balance, death wipe, trader role).

/economy policy_set <server_name> [...]

Update economy policy fields, including death-wipe behavior and trader role access.

/economy wipe_audit <server_name> [@user] [limit]

Review recent economy death-wipe events for staff auditing.

/setup

Info how to setup the bot on the server

/downloadlog [lines]

Download bot log file (Developer/Owner only). Specify number of recent lines (50-5000, default: 1000).

Server Files & Config
/getserverfile

Admin: Download a file from root/custom/db/env/config.

/uploadserverfile

Admin: Upload a file to root/custom/db/env/config with backup.

/editgameplayjson

Admin: Edit cfggameplay.json (stamina, build anywhere, UI, map, vehicle).

/globals_edit

Admin: Edit globals.xml fields with backup & safe upload.

Event & Json Spawning
/spawn_event create server_name:<server> category:<Vehicle|Static|Item|Infected> type:<Classname> x:<X> z:<Z> [quantity] [territory_radius] [interval_minutes] [activation_minutes] [cleanup_minutes]

Create (optionally recurring) event. Infected uses toggle mode with activation.

/spawn_event list <server_name>

List scheduled spawns.

/spawn_event delete <id>

Delete a scheduled spawn by ID.

/spawn_event rollback <id>

Remove the last created XML blocks for a schedule and disable it.

/spawn_json

JSON object spawner: guided modal for items, filename, position (my_location/manual), auto-delete, and server upload.

File Rotation & JSON Removal
/remove_json

Remove any JSON in /custom; optional cfggameplay reference cleanup.

/rotate_file

Create a rotation for a target file (interactive wizard).

/rotate_file_list

List active file rotations (paginated).

/rotate_file_rollback

Restore original, delete variants, fix cfggameplay reference.

Rotation Notes

You can rotate multiple files at the same time; each rotation is tracked separately and can be rolled back independently.

Discovery Zones
/discovery_zone create

Create a custom discovery alert zone (DM on entry).

/discovery_zone edit

Edit coordinates/radius/embed of a discovery zone.

/discovery_zone list

List all discovery zones for a server.

/discovery_zone delete

Delete a discovery zone.

Discoverables (Notes & Tapes)
/note create

Create a discoverable note: title, text, coordinates, optional radius, expiry, and optional Paper prop spawn (spawn_prop:y with Y coord).

/note list

List discoverable notes for a server.

/note edit

Edit a note (title, text, coords, radius, expiry). Does not respawn prop.

/note delete

Delete a note. Removes gameplay reference and its custom JSON prop file if spawned.

/tape create

Create a discoverable audio tape: title, MP3 (≤8MB), coords, optional radius, expiry, optional Cassette prop spawn (spawn_prop:y with Y coord).

/tape list

List discoverable tapes for a server.

/tape edit

Edit a tape (title, MP3 file, coords, radius, expiry). Does not respawn prop.

/tape delete

Delete a tape. Removes gameplay reference and its custom JSON prop file if spawned.

Prop Spawn JSON Format

Objects:[{name:Paper|Cassette,pos:[x,y,z],ypr:[0,0,0],scale:1,enableCEPersistency:0,customString:""}]

Expiry & Consumption

On first find or expiry the gameplay reference and custom JSON are removed automatically.