I will either go with Rusher's approachRusher's approach of writing a Java controller where participants only need to implement an interface (and provide a wrapper for non-Java submissions) or I'll write a controller that invokes bots as separate processes whenever its their turn.
replaced http://codegolf.stackexchange.com/ with https://codegolf.stackexchange.com/