MOHAA Server Management Made Simple
Get a fully configured Medal of Honor: Allied Assault server running in one hour.
PIWO is a pragmatic, unified server management system for Medal of Honor: Allied Assault. It bundles popular mods, provides centralized configuration through YAML, and automates the entire setup process with a single bash script. Instead of juggling separate mod configs, incompatible settings, and hours of manual setup... PIWO does it for you.
- One-Hour Setup - Bash script handles everything: dependencies, files, permissions, systemd integration
- Unified Configuration - Single YAML file controls server settings, mod behavior, and per-map overrides
- Bundled Mods - FreezeTag, BaseBuilder, Weapon Manager, Realism Switcher, and more. Tested and ready.
- Per-Map Overrides - Different settings for different maps, no manual switching.
- No Linux Knowledge Required - Setup script walks through the process step-by-step.
- Systemd Integration - Auto-restart on crash, manage with
systemctl, logs injournalctl. - Health Checks - Diagnose common problems without digging through logs.
- Web Panel Ready - Optional: Connect to the separate admin panel for FTP and server control.
- Fresh Linux VPS (Ubuntu 20.04 LTS or later recommended)
- Root or sudo access
- ~500MB disk space
The setup script will ask a few questions:
- Server name
- RCON password
- Max players
- Port
- Which mods to enable
Then sit back and wait. Grab a beer. 🍺
- FreezeTag - Classic freeze tag gameplay.
- BaseBuilder - Construct and defend bases.
- Weapon Manager - Configure weapon availability per map.
- Realism Switcher - Toggle between default and realistic damage models.
- [More to come...]
- Automated Setup - One bash script, everything configured
Configuration is dead simple. Edit config.yaml:
server:
name: "My MOHAA Server"
port: 12203
max_players: 32
rcon_password: "your-secure-password"
mods:
freezetag:
enabled: true
settings:
freeze_time: 5
basebuilder:
enabled: true
weapon_manager:
enabled: true
maps:
mp_foy:
weapon_manager:
allow_sniper: false
allow_shotgun: true
mp_berlin:
freezetag:
freeze_time: 3All mods load with sensible defaults. Override only what you need.
Different maps, different rules. PIWO supports per-map overrides:
maps:
mp_gazala:
mods:
weapon_manager:
allow_sniper: true
allow_heavy: true
server:
match_time: 30
mp_foy:
mods:
weapon_manager:
allow_sniper: false
realism:
enabled: trueSet it once, run forever.
systemctl start piwo
systemctl stop piwo
systemctl restart piwosystemctl status piwojournalctl -u piwo -f # Live logs
journalctl -u piwo --since 1h # Last hour./mohaa-check.shWant to manage your server from a browser instead of SSH? The PIWO admin panel is available as a separate, optional download:
- Server control (start/stop/restart)
- FTP file browser
- RCON command execution
- Log viewer
- Config editor
- CPU: 1 core minimum (2+ recommended)
- RAM: 512MB minimum
- Disk: 1GB for game files + configs
- Bandwidth: ~500kbps per player average
- Setup Guide - Detailed walkthrough
- Configuration Reference - All available settings
- Mod Documentation - Per-mod settings and behavior
- Troubleshooting - Common problems and solutions
Found a bug? Have a feature idea? Contributions welcome.
- Fork the repo
- Create a feature branch (
git checkout -b feature/your-idea) - Commit your changes
- Push and open a PR