Skip to content
Unofficial ggpo server (re)implementation
Branch: master
Clone or download


Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Initial commit Oct 8, 2014
LICENSE Initial commit Oct 8, 2014 move to poliva/pyqtggpo repo Mar 24, 2015
TODO.txt use port 6004 for symmetric nat Dec 9, 2014 new game: power drift from poliva/fightcadestates#63 Jan 5, 2016

Unofficial ggpo server (re)implementation

© 2014 Pau Oliva Fora (@pof)


$ ./ -h
-!- ggpo-ng server version 0.4
-!- (c) 2014 Pau Oliva Fora (@pof) 
Usage: ./ [option]

  -h, --help            show this help message and exit
  --start               Start ggposrv (default)
  --stop                Stop ggposrv
  --restart             Restart ggposrv
                        IP to listen on
                        Port to listen on
  -V, --verbose         Be verbose (show lots of output)
  -l, --log-stdout      Also log to stdout
  -f, --foreground      Do not go into daemon mode.
  -u, --udpholepunch    Use UDP hole punching.


This server is fully compatible with existing GGPO clients and the official GGPOFBA emulator, however if UDP hole punching is enabled the GGPOFBA emulator needs to be proxyied through a wrapper. UDP hole punching is a popular NAT traversal technique that allows to connect two players without having to forward ports on the router, making the setup easier.

You can’t perform that action at this time.