ZoneMod Setup Guide¶
Deploy CrespoGuard ZoneMod to your RF Online server — anti-cheat, game hooks, JavaScript scripting, and a web dashboard. One executable replaces your ZoneServer startup script.
Prerequisites¶
| Requirement | Detail |
|---|---|
| OS | Windows Server 2012 R2+ or Windows 10/11 |
| RF Online | ZoneServerUD_x64.exe v2.2.3.2 |
| SQL Server | Express or Standard with RF_User, RF_World databases |
| Visual C++ Runtime | 2019+ x64 redistributable |
| ODBC Driver | SQL Server or ODBC Driver 17 |
| WebView2 Runtime | Microsoft Edge Chromium (optional, for dashboard) |
| License | CrespoGuard Premium (Guard+ tier) |
Administrator required
CrespoGuard.exe requires admin privileges for DLL injection into the ZoneServer process.
What's in the Package¶
RF_Bin/
├── CrespoGuard.exe # Loader — launches ZoneServer + injects DLL
├── CrespoGuardMod.dll # The mod DLL (injected into ZoneServer)
├── crespoguard.json # Auth & loader configuration
├── ZoneServerUD_x64.exe # Your RF Online ZoneServer
│
└── CrespoGuard/
├── zonemod.json # Module enable/disable + settings
├── scripts/ # JavaScript plugin scripts (.js)
├── plugins/ # Compiled bytecode plugins (.cgp)
└── logs/ # Log output
DLL location
CrespoGuardMod.dll goes directly in RF_Bin/, not in the CrespoGuard/ subfolder.
Quick Start¶
Step 1: Copy Files¶
Copy CrespoGuard.exe, CrespoGuardMod.dll, and the CrespoGuard/ folder into your
RF_Bin/ directory alongside ZoneServerUD_x64.exe.
Step 2: Configure crespoguard.json¶
Create crespoguard.json in RF_Bin/:
{
"ServerName": "My RF Online Server",
"LogLevel": 1,
"Auth": {
"ListenIP": "0.0.0.0",
"ListenPort": 10001,
"DashboardPort": 8080,
"DashboardEnabled": true
},
"Database": {
"Server": ".\\SQLEXPRESS",
"Database": "RF_User",
"Username": "sa",
"Password": "your_password",
"Driver": "SQL Server"
},
"ZoneServerPath": "ZoneServerUD_x64.exe",
"ZoneServerArgs": "cjdrnrwkd",
"ModDllPath": "CrespoGuardMod.dll",
"ModConfigPath": "CrespoGuard/zonemod.json",
"DashboardPort": 8081
}
Step 3: Configure zonemod.json¶
Create zonemod.json in RF_Bin/CrespoGuard/ to enable/disable modules:
{
"OdbcFixEnabled": true,
"modules": {
"server_rates": {
"enabled": true,
"settings": {
"exp_rate": 5.0,
"drop_rate": 2.0,
"gold_rate": 3.0,
"mining_rate": 2.0
}
},
"movement_validation": {
"enabled": true,
"settings": {
"speed_threshold": 1.5,
"teleport_distance": 500
}
},
"js_scripting": {
"enabled": true
},
"js_event_hooks": {
"enabled": true
}
}
}
enabled must be first
The "enabled" key must be the first key in each module object.
The JSON parser reads keys in order.
Step 4: Start¶
Run CrespoGuard.exe from the RF_Bin/ directory:
This single command:
- Starts the Auth Server (port 10001)
- Launches ZoneServer in suspended state
- Injects CrespoGuardMod.dll
- Resumes ZoneServer with all hooks active
- Opens the web dashboard (ports 8080/8081)
Step 5: Verify¶
Open http://localhost:8081 in your browser to access the ZoneMod dashboard.
You should see all enabled modules listed with their current settings.
Ports¶
| Port | Service | Required |
|---|---|---|
| 10001 | CrespoGuard Auth | Yes |
| 27780 | ZoneServer (direct) | Yes |
| 8080 | Auth Dashboard | Optional |
| 8081 | ZoneMod Dashboard | Optional |
Firewall
Open ports 10001 and 27780 in your firewall for player connections. Dashboard ports (8080/8081) should only be accessible from your admin machine.
Adding JavaScript Scripts¶
- Create
.jsfiles inCrespoGuard/scripts/ - Use
/js reloadin-game or click Reload Scripts in the dashboard - No server restart needed
See JS Scripting for the quickstart guide.
Module Configuration¶
Modules are configured in zonemod.json and can be changed live through the
dashboard — no server restart required.
See Module Catalog for the full list of 185 available modules and Configuration Guide for detailed settings.
Troubleshooting¶
| Issue | Solution |
|---|---|
| "DLL not found" | Ensure CrespoGuardMod.dll is in RF_Bin/ (not in CrespoGuard/) |
| Dashboard won't load | Install WebView2 Runtime, check ports 8080/8081 not in use |
| ZoneServer crashes on start | Check CrespoGuard/logs/ for error details |
| Modules not loading | Verify "enabled": true is the first key in each module |
| Scripts not running | Enable both js_scripting and js_event_hooks in zonemod.json |
| "Access denied" | Run CrespoGuard.exe as Administrator |
| Database connection fails | Check ODBC driver installed and credentials in crespoguard.json |
Next Steps¶
- Module Catalog — All 185 modules with descriptions
- Configuration Guide — Detailed module settings
- GM Commands — In-game admin commands
- JS Scripting — Write custom game logic