All pastes #594212 Raw Edit

P4

public php v1 · immutable
#594212 ·published 2007-06-28 20:24 UTC
rendered paste body
#!/usr/bin/php<?php$servers = array(	'ctctf' => array(		'prefix' => '/home/armagetronad/arma-0.2.8-pig',		'data' => '/home/armagetronad/ctctf'	),	'styball' => array(		'prefix' => '/home/armagetronad/arma-0.2.8-pig',		'data' => '/home/armagetronad/styball'	),	'styball4t' => array(		'prefix' => '/home/armagetronad/arma-0.2.8-pig',		'data' => '/home/armagetronad/styball4t'	),	'ladle' => array(		'prefix' => '/home/armagetronad/arma-0.2.8-svn',		'data' => '/home/armagetronad/ladle'	),	'rtw' => array(		'prefix' => '/home/armagetronad/arma-trunk',		'data' => '/home/armagetronad/rtw'	),	'cafe' => array(		'prefix' => '/home/armagetronad/arma-0.2.8-svn',		'data' => '/home/armagetronad/cafe'	),	'bar' => array(		'prefix' => '/home/armagetronad/arma-0.2.8-svn',		'data' => '/home/armagetronad/bar'	),	'bistro' => array(		'prefix' => '/home/armagetronad/arma-0.2.8-svn',		'data' => '/home/armagetronad/bistro'	),	'teamsumo' => array(		'prefix' => '/home/armagetronad/arma-0.2.8-svn',		'data' => '/home/armagetronad/teamsumo'	));if(isset($servers[$argv[1]])) {	/*        Directory structure:            PREFIX                bin/armagetronad-dedicated required            DATA                config/                    optional                var/                       auto-generated                    resource/              auto-generated                data/                      optional                console_log.txt            auto-generated                console_input.txt          optional                    */	$server = $servers[$argv[1]];	$do_input = is_file($server['data'] . '/console_input.txt');	$command = $server['prefix'] . '/bin/armagetronad-dedicated ' .		'--userdatadir   '   . $server['data'] . '/data ' .		'--userconfigdir '   . $server['data'] . '/config ' .		'--vardir '          . $server['data'] . '/var ' .		'--autoresourcedir ' . $server['data'] . '/var/resource ' .		($do_input ? '' : '-d ') .		'>>' . $server['data'] . '/console_log.txt';	if($do_input) {		$command = 'tail -f ' . $server['data'] . '/console_input.txt | ' . $command;	}	echo('Command: ' . $command . "\n");	do {		$lastrestart = time();		system($command, $retval);		if($retval = 0) {			system('echo -- --- Server ended regularily, restarting! >>' . $server['data'] . '/console_log.txt');		} else {			system('echo -- --- Server died with return code ' . $retval . ', restarting! >>' . $server['data'] . '/console_log.txt');		}	} while($lastrestart < time()-60);	system('echo -- --- Server died with return code ' . $retval . ', not restarting! >>' . $server['data'] . '/console_log.txt');	echo '=== Too many restarts for server ' . $argv[1] . ', exiting!' . "\n";} else {	print('Usage: ' . $argv[0] . ' ' . implode('|', array_keys($servers)) . "\n");}?>