SysAdmin Arena is a realistic IT support simulation built on a live domain lab and osTicket. Instead of static exercises, it generates ongoing help desk incidents, converts them into tickets, and verifies fixes before work is considered complete. If remediation fails validation, tickets are automatically reopened or marked for follow-up.
You play as IT admin Taylor Nguyen on CLIENT01: work the osTicket queue, remote into systems, resolve incidents, and confirm fixes through automated verification.
- A multi-VM enterprise-style lab (domain controller, member server, client, ticketing platform)
- A ticket-driven IT simulator that maps infrastructure issues to actionable support tasks
- A repeatable workflow: diagnose -> fix -> verify -> repeat
- Automated VM provisioning: DC01, MEMBERSRV01, CLIENT01, SERVICES01 (still testing)
- SERVICES01 hosts osTicket, automation endpoint, and plugin system
- Template-driven incidents across:
- Active Directory / accounts
- DNS / DHCP
- Group Policy
- File services
- System services
- Generator + verifier loop with state tracking and queue refill
- Verifier-gated lifecycle: tickets stay closed only when technical checks pass
- Automatic reopen flow: failed fixes trigger reopen or follow-up with diagnostic context
- Hint workflow:
/hint(orhint) in a ticket thread triggers automated assistance - Escalating hints: directional guidance, then failing checks, then runbook-level guidance
- Continuous workload: queue auto-refills to keep gameplay flow active
- CPU: 8 vCPU total (2 per VM)
- RAM: 24 GB total (8 + 6 + 6 + 4)
- Disk (virtual): 320 GB total (100 + 80 + 80 + 60)
- RAM: 18 GB total (4 + 4 + 6 + 4)
- Disk (virtual): 260 GB total (60 + 60 + 80 + 60)
VM disks are thin-provisioned VDI (dynamic). Listed sizes are capacity ceilings, not immediate host consumption.
| Profile | CPU | RAM | Free SSD | Use Case |
|---|---|---|---|---|
| Low-footprint | 4-6 cores | 18-24 GB | 120-180 GB | Tuned VMs, standard gameplay |
| Default | 6 cores | 24-32 GB | 180+ GB | Better responsiveness |
| Strict target | 8+ cores | 32-48 GB | 220-350+ GB | Full strict runs plus snapshots |
- SERVICES01 (Ubuntu/osTicket): 1 vCPU, 2 GB RAM for light testing
- MEMBERSRV01: 1 vCPU, 2-4 GB RAM
- DC01 (AD/DNS/DHCP): 2 vCPU, 4 GB RAM minimum
- CLIENT01 (Windows 11): 4 GB RAM minimum, 6 GB recommended
- DC01: 4 GB RAM, 60 GB virtual disk
- MEMBERSRV01: 4 GB RAM, 60 GB virtual disk
- CLIENT01: 6 GB RAM, 80 GB virtual disk
- SERVICES01: 4 GB RAM, 60 GB virtual disk
powershell -ExecutionPolicy Bypass -File C:\SysAdminArena\bootstrap\Test-Prereqs.ps1 -RequireIsos -AsJson-
Place the repo at
C:\SysAdminArenaand open PowerShell as Administrator. -
Ensure ISO files exist in
C:\SysAdminArena\isos:
- WinServer2022.iso
- Windows11.iso
- Ubuntu2204.iso
- If needed, configure ISO paths:
powershell -ExecutionPolicy Bypass -File C:\SysAdminArena\bootstrap\Initialize-Config.ps1 -WinServerIso "C:\Path\To\WinServer2022.iso" -Win11Iso "C:\Path\To\Windows11.iso" -UbuntuIso "C:\Path\To\Ubuntu2204.iso"- Run one-click strict provisioning:
powershell -ExecutionPolicy Bypass -File C:\SysAdminArena\bootstrap\Invoke-OneClickStrict.ps1 -ServicesOsTicketDbPassword "ChangeMe-StrongPassword"- Complete osTicket setup on SERVICES01:
http:///osticket/setup/
-
Rerun step 4 to clear remaining blockers.
-
Start the bridge worker on CLIENT01:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
powershell -ExecutionPolicy Bypass -File C:\SysAdminArena\ticket-engine\bridge\Start-BridgeWorker.ps1 -IntervalSeconds 60- Begin working tickets in osTicket.
powershell -ExecutionPolicy Bypass -File C:\SysAdminArena\bootstrap\Invoke-OneClickStrict.ps1 -ServicesOsTicketDbPassword "ChangeMe-StrongPassword" -RequirePluginEvidenceUse this mode to validate orchestration wiring without touching a known-good working lab.
- Create a test config copy:
Copy-Item C:\SysAdminArena\config.ps1 C:\SysAdminArena\config.safe-test.ps1 -Force- Run provisioning in safe mode:
powershell -ExecutionPolicy Bypass -File C:\SysAdminArena\bootstrap\Invoke-OneClickProvision.ps1 -ConfigPath C:\SysAdminArena\config.safe-test.ps1 -EnableUnattendedInstall:$false -StartVMs:$false -SkipServices01Automation -SkipServices01ReadinessCheck -CompactReport -ReportPath reports\oneclick-safe-smoke.json -AsJson- Review output in
reports\oneclick-safe-smoke.json.
This validates orchestration flow and reporting only. In this mode, readyForTickets can be false by design.
- One-click provisioning is partially tested
- Strict mode generates machine-readable blocker reports and exits non-zero when blockers remain
- Default strict report:
reports\oneclick-strict.json - JSON output supports CI and automated validation
| Exit Code | Meaning |
|---|---|
| 0 | Ready (readyForTickets = true) |
| 2 | Blockers remain |
bootstrap: provisioning, orchestration, readiness checksvms: VM definitions and role configurationticket-engine: bridge worker, endpoint, plugins, templatesad-config: Active Directory seeding and related configdocs: runbooks and guides
bootstrap/Invoke-OneClickStrict.ps1bootstrap/Invoke-OneClickProvision.ps1bootstrap/Test-Services01Readiness.ps1bootstrap/Install-Services01Automation.ps1bootstrap/Finalize-TicketReady.ps1vms/setup-all-lab-vms.ps1
docs/quickstart-one-click.mddocs/one-click-repro-blueprint.md
- If unattended install fails, complete VM setup manually and continue.
- If plugin registration fails, open osTicket Admin -> Manage -> Plugins once, then rerun readiness.
- If strict plugin evidence fails, perform at least one ticket close or
/hintaction, then rerun strict mode.