04 / Interactive systems and game technology
Botzone Neo — job-driven infrastructure for game bots and online judging
Uses queues, sandboxes, and pluggable run strategies for both multi-turn bot matches and ordinary online-judge submissions.
Background
A rewrite of the judging system for Nanjing University of Information Science and Technology. Submissions, compilation, execution, matches, and callbacks are modelled as jobs; web requests enqueue work and query state.
Implemented capabilities
- Supports both multi-turn Botzone matches and conventional online judging.
- A MatchRunner controls each game; pluggable bot strategies support restart and long-running semantics.
- Execution and compilation caching for C++, Python, TypeScript, and JavaScript.
- Docker and nsjail resource controls, callbacks, and horizontally scalable workers.
Reusable engineering work
The project combines bot jobs, automated tests, restricted execution, and resource scheduling into an accountable judging pipeline. A queue-driven model gives matches, execution, callbacks, and replay the same lifecycle, so the design can be reused in other task systems.