| ID | Name | Team | Class | Streak | Credits | Bounty | Actions |
|---|---|---|---|---|---|---|---|
| # | Player | Kills | Rank |
|---|---|---|---|
| # | Player | Credits | Rank |
|---|---|---|---|
| Timestamp | User | Role | IP | Action | Details |
|---|---|---|---|---|---|
Heuristic Engine for Live Management (H.E.L.M.)
Welcome to the H.E.L.M. admin dashboard. H.E.L.M. is an automated daemon that runs alongside the Movie Battles II server, providing administrative moderation, player sync, bot automation, chat filters, and game loop monitoring.
Key Subsystems
| Subsystem | Purpose | Status/Config |
|---|---|---|
| Warden | Toxicity monitoring, automatic muting, chat filters, admin alerts, IP ban synchronization. | Configurable via Settings |
| Patrol | Dynamic bot/NPC spawning, automated model assignment for bots, Siege classes management. | Active on server |
| Sync | Saves player statistics, keeps player profiles, checks VIP status, maintains ban records. | Runs on round end |
| Companion Daemon | HTTP server providing this web portal, websocket support, RCON queues, and server log parsing. | Port 29080 (TCP) |
Warden Toxicity System
Warden acts as the automated moderator of the server. It continuously monitors public chat messages and executes moderation rules without requiring active admins online.
Warden Features
- Toxic Strike Records: When a player uses blacklisted language, Warden gives them a strike. After multiple strikes, the player is automatically muted or kicked.
- Perma-Mute: Players added to the Perma-Mute list are automatically muted as soon as they connect.
- Warden Whitelist: Whitelisted players are marked as trusted. They are immune to the Warden toxicity filters and their in-game commands are recognized by H.E.L.M.
- Perma-TK List: Players added to the Perma-TK list are marked as toxic teamkillers. They are automatically forced to Spectators upon joining.
Patrol and Bot Spoofing
The Patrol subsystem manages bot/NPC populations and ensures bots behave realistically and use appropriate class models and sabers.
Main Features
- Dynamic Model Mapping: During boot-up, H.E.L.M. maps all models and sabers for every Movie Battles II class, generating matching bot configurations.
- Bots.txt Generation: Rewrite `bots.txt` to dynamically inject Movie Battles II bot definitions.
- Auto-fill: Dynamically fills the server with bots when empty, keeping the server active. Bots are kicked as real players connect.
- Native Siege Map Preservation: If native Siege maps (like those with custom objectives) are run, H.E.L.M. preserves their default NPC/bot specifications.
Database Sync
H.E.L.M. manages file databases to store bans, mutes, teamkiller strikes, and player credits. Sync runs in the background and saves files to the `MBII/config` directory on server shutdown or map transitions.
Database Files
settings.json: Main configuration for features, ports, and limits.banlist.json: Active player name and IP address bans.permamutes.json: List of player names/IPs permanently muted.permatks.json: List of player names on the perma-TK list.warden_approved.json: Approved names and IPs for Warden whitelisting.adverts.json: Rotating advertisements shown on the server.
Console Command Reference
H.E.L.M. commands can be entered directly into the dashboard console or in-game chat (prefixed with ! for admins). Below is a searchable glossary of commands.
| Command | Syntax | Description | Example |
|---|---|---|---|
sync |
sync |
Force-syncs the JSON database files to disk immediately. | sync |
ban |
ban <name/pid> [duration] [reason] |
Bans a player by name or PID for a given duration (in minutes, 0 for perm). | ban 3 60 Griefing |
unban |
unban <name/ip> |
Lifts a ban on the specified name or IP. | unban dylan |
mute |
mute <name/pid> [duration] [reason] |
Mutes a player for the specified duration (in minutes). | mute 0 10 Spamming |
unmute |
unmute <name/pid> |
Unmutes the specified player. | unmute 0 |
permamutelist |
permamutelist add/remove <name/ip> |
Adds or removes a player to/from the permanent mute database. | permamutelist add badguy |
permatklist |
permatklist add/remove <name> |
Adds or removes a player to/from the permanent teamkiller list. | permatklist add troll |
wardenadd |
wardenadd <name/ip> |
Adds a player name/IP to the trusted Warden Whitelist. | wardenadd admin_bob |
wardenremove |
wardenremove <name/ip> |
Removes a player name/IP from the Warden Whitelist. | wardenremove admin_bob |
adadd |
adadd <message> |
Adds a message to the rotating advertisement lists. | adadd Join our Discord! |
adrem |
adrem <index> |
Removes advertisement at index (1-based). | adrem 1 |
resetvotes |
resetvotes |
Clears all active map nominations. | resetvotes |
forgive |
forgive <name/pid> |
Clears teamkiller strike records for a player. | forgive 2 |
clearviol |
clearviol [name] |
Clears Warden toxicity violations (or all if name omitted). | clearviol |
settings |
settings <option> <value> |
Queries or toggles H.E.L.M. settings options directly. | settings roll_cost 10 |
patrol |
patrol [off/stop] |
Triggers manual patrol bot adjustments, or turns patrol off. | patrol stop |
spoof |
spoof fill/stop |
Fills the server with spoofed bot configurations or stops. | spoof fill |
JKA RCON Guide
RCON (Remote Console) commands send instructions directly to the underlying Jedi Academy engine. Unlike H.E.L.M. commands, these run directly on the game server process.
Common RCON Commands
status: Lists all connected players, client IDs, IPs, ping, and rate.svsay <msg>: Sends a global broadcast message in the center of players' screens.map <mapname>: Forces a map transition immediately (e.g.map mb2_dotf).devmap <mapname>: Loads a map with cheats enabled (e.g. for testing waypoints).kick <client_number>: Kicks a player by JKA client ID (0-31).clientkick <client_number>: Alternative kick method using engine-native calls.