Skip to content

Instantly share code, notes, and snippets.

@mlieberman85
Created April 22, 2013 17:15
Show Gist options
  • Save mlieberman85/5436848 to your computer and use it in GitHub Desktop.
Save mlieberman85/5436848 to your computer and use it in GitHub Desktop.
var agentSocket = io.connect('http://minecraftAgentServer');
io.sockets.on('connection', function(socket){
socket.on('startServer', function(){
agentSocket.emit('startServer');
});
agentSocket.on('stats', function(data){
io.sockets.emit('stat', data);
});
...
});
io.sockets.on('connection', function(socket){
socket.on('startServer', function(){
minecraftServer = childProcess.spawn(
"java",
['-Xms1024M', '-Xmx1G', '-jar', 'ftbserver.jar', 'nogui'],
{cwd: process.env.MINECRAFT_DIR || '/home/mlieberman/Downloads/ftb'}
);
io.sockets.emit('status', "Starting Server");
minecraftServer.stdout.on('data', function(data){
if(data){
io.sockets.emit('console', ""+data);
}
});
minecraftServer.stderr.on('data', function(data){
if(data){
io.sockets.emit('console', ""+data);
}
});
minecraftServer.on('exit', function(){
minecraftServer = null;
});
});
socket.on('stopServer', function(){
minecraftServer.kill('SIGINT');
io.sockets.emit('status', "Stopping Server");
});
socket.on('command', function(data){
if(minecraftServer) {
io.sockets.emit('console', "Command: " + data.command);
minecraftServer.stdin.write(data.command + "\r");
} else{
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment