| Admin View |
Player View |
 |
 |
More Screenshots
| Admin Notes |
Player Notes |
 |
 |
- Player Reports - Create tickets with live chat support
- Voice Messages - Record and send audio messages in chat (optional)
- Admin Panel - Claim, resolve, and manage reports
- Moderation Tools - Teleport, heal, freeze, spectate, kick
- Discord Integration - Webhook logging for all events
- Statistics Dashboard - Track team performance
- Inventory Management - View/modify player items (ox_inventory, ESX)
- Multi-Language - English & German included
- Dark/Light Theme - User preference saved
# 1. Clone to resources
git clone https://github.com/SwisserDev/sws-report.git resources/sws-report
# 2. Import database
mysql -u root -p your_database < resources/sws-report/sql/install.sql
# 3. Build UI
cd resources/sws-report/web && npm install && npm run build
# 4. Add to server.cfg
ensure oxmysql
ensure sws-report
# 5. (Optional) Enable voice messages
mysql -u root -p your_database < resources/sws-report/sql/migrate_voice_messages.sql
# 6. (Optional) Enable inventory management
mysql -u root -p your_database < resources/sws-report/sql/migration_1.0.6_inventory_changes.sql
Upgrading from an older version? See UPGRADING.md
Edit config/main.lua:
Config.Locale = "en" -- Language (en/de)
Config.Command = "report" -- Command to open UI
Config.Cooldown = 60 -- Seconds between reports
Config.MaxActiveReports = 3 -- Max open reports per player
-- Admin access (choose one or both)
Config.AdminAcePermission = "report.admin"
Config.AdminIdentifiers = {
"license:abc123...",
"steam:123456..."
}
-- Discord webhook
Config.Discord = {
enabled = true,
webhook = "https://discord.com/api/webhooks/..."
}
-- Voice Messages (optional, requires migration)
Config.VoiceMessages = {
enabled = true,
maxDurationSeconds = 60,
maxFileSizeKB = 7500
}
-- Inventory Management (optional, requires migration)
Config.Inventory = {
enabled = true,
allowedActions = { add = true, remove = true, set = true, metadata_edit = true },
maxItemCount = 1000
}
| Command |
Description |
/report |
Open report interface |
exports["sws-report"]:IsAdmin(source)
exports["sws-report"]:GetReports(filter)
exports["sws-report"]:CloseReport(reportId)
exports["sws-report"]:IsInventoryAvailable()
exports["sws-report"]:GetInventorySystemName()
exports["sws-report"]:OpenUI()
exports["sws-report"]:CloseUI()
exports["sws-report"]:IsUIOpen()
AddEventHandler("sws-report:onCreated", function(report) end)
AddEventHandler("sws-report:onClaimed", function(report, adminId) end)
AddEventHandler("sws-report:onResolved", function(report, adminId) end)
| Document |
Description |
| INVENTORY.md |
Inventory management setup, usage & custom adapters |
| UPGRADING.md |
Migration guide for version upgrades |
- Fork the repository
- Create a feature branch (
git checkout -b feature/thing)
- Commit changes (
git commit -m "Add thing")
- Push to branch (
git push origin feature/thing)
- Open a Pull Request
MIT