Jump to content

Make this script work with linux possible?


Fronix

Recommended Posts

Hey guys I'm new here but i got a question and prob someone can solve it for me :)

 

Ive got this script that can book HLDS Servers but its made for windows with pstools and stuff now I'm wondering if its possible to make it work with windows :)

 

I can give you the code even if i bought it xD

 

<?php
$db_host = "******";
$db_table = "******";
$db_user = "******";
$db_pass = "******";

$dbh = mysql_connect($db_host,$db_user,$db_pass) or die("Kunde inte till MySQL databas.");
mysql_select_db($db_table, $dbh);

if(isset($_GET['logo'])){
$l[0] = "";
$l[1] = "lila";
$l[2] = "gron";
$l[3] = "bla";
$l[4] = "gul";
$rand = rand(0, 4);
$_SESSION['top'] = $l[$rand];
}

function DoMain(){

if(isset($_GET['okej']) || isset($_POST['okej'])){		
	if(isset($_GET['okej'])){
		EchoOkej($_GET['okej']);
	}else{
		EchoOkej($_POST['okej']);
	}
}
if(isset($_GET['wa']) || isset($_POST['wa'])){
	if(isset($_GET['wa'])){
		EchoVarning($_GET['wa']);
	}else{
		EchoVarning($_POST['wa']);
	}
}	
if ($_SERVER['REQUEST_METHOD']=="GET") {
	$op = $_GET['o'];
} else {
	$op = $_POST['o'];
}	
switch($op) {
	case "loggaut":
		DoLoggaUt();
		break;
	case "loggain":
		DoLoggaIn();
		break;
	case "boka":
		Boka();
		break;
	case "kredit":
		Krediter();
		break;
	case "registrera":
		Registrera();
		break;
	case "inst":
		Installningar();
		break;
	default:
		DoStart();
		break;
}
}

function DoStart(){
EchoCheck();
}

function DoLoggaUt(){
$_SESSION['inloggad'] = "";
unset($_SESSION['inloggad']);
header("location: cmd.php");
}

function EchoOkej($id){
echo "<div class=\"okej\">\n";
echo $id;
echo "</div>\n";
}

function EchoVarning($id){
echo "<div class=\"varning\">\n";
echo $id;
echo "</div>\n";
}



function DoLoggaIn(){
global $dbh;
if(isset($_POST['nick'])){
	$nick = $_POST['nick'];
	$pass = md5($_POST['pass']);
	$query = mysql_query("SELECT * FROM cs_konton WHERE nick='$nick'", $dbh);
	$res = mysql_fetch_array($query);
	if($res[3] == $pass){
		$_SESSION['inloggad'] = $res[1];
		header("location: cmd.php?okej=Inloggad");
	}else{
		header("location: cmd.php?o=loggain");
	}
}else{
	echo "<fieldset style=\"text-align: center;\"><legend>Logga in</legend>\n";
	echo "<form method=\"post\" action=\"cmd.php\">\n";
	echo "<input type=\"hidden\" name=\"o\" value=\"loggain\" />\n";
	echo "Nick<br />\n";
	echo "<input type=\"text\" name=\"nick\" /><br />\n";
	echo "Lösenord<br />\n";
	echo "<input type=\"password\" name=\"pass\" /><br />\n";
	echo "<input type=\"submit\" value=\"Skicka\" />";
	echo "</form>\n";
	echo "<br /><a href=\"?o=registrera\">Registrera</a>\n";
	echo "</fieldset>\n";
}
}

function KontoSak(){
global $dbh;
echo '<div id="konto">';
$nick = $_SESSION['inloggad'];
echo $nick.'<br />';
$query = mysql_query("SELECT kredit FROM cs_konton WHERE nick='$nick'", $dbh);
$res = mysql_fetch_array($query);
echo "<a href=\"?o=kredit\">";
echo $res[0];
echo ' krediter</a>';
echo '</div>';
}

function Boka(){
$port = $_GET['port'];
if(isset($port)){
	if(isset($_SESSION['inloggad'])){
		echo "\n";
		echo "<fieldset><legend>Boka server S".$port."</legend>\n";
		echo "<form method=\"post\" action=\"cmd.php\">\n";
		echo "<input type=\"text\" name=\"csnamn\" /> Namn<br />\n";
		echo "<input type=\"text\" name=\"cslosen\" /> Lösenord<br />\n";
		echo "<input type=\"text\" name=\"csnrcon\" /> Rcon-lösenord<br />\n";
		echo "<input type=\"hidden\" name=\"o\" value=\"boka\" />\n";
		echo "<input type=\"hidden\" name=\"port\" value=\"".$port."\" />\n";
		echo "<select name=\"tid\" onchange=\"showKrediter(this.value, '".$_SESSION['inloggad']."')\">\n";
		echo "<option value=\"0\">-- Välj Tid ------------</option>\n";
		echo "<option value=\"1\">1 timma (3 krediter)</option>\n";
		echo "<option value=\"2\">2 timmar (6 krediter)</option>\n";
		echo "<option value=\"3\">3 timmar (9 krediter)</option>\n";
		echo "</select> Tid<br />\n";
		echo "<div id=\"txtHint\">\n";			
		echo "</div>\n";
		echo "<input type=\"submit\" value=\"Boka\" />\n";
		echo "</form>\n";
		echo "</fieldset>\n";
	}else{			
		DoLoggaIn();
	}
}elseif(isset($_POST['port'])){
	$port = $_POST['port'];	
	$namn = $_POST['csnamn'];
	$losen = $_POST['cslosen'];
	$rcon = $_POST['csnrcon'];	
	$tid = $_POST['tid'];
	$fel = $_POST['krediter'];
	Starta($port, $namn, $losen, $rcon, $tid, $fel);
}
}

function Starta($port, $namn, $password, $rcon, $tid, $fel){
global $dbh;
$query = mysql_query("SELECT slut FROM cs_serverar WHERE server='S".$port."'", $dbh);
$res = mysql_fetch_array($query);
if(isset($port) && (IsOnline("elitecs1.mine.nu", $port) == 0 && empty($fel) && $tid > 0 && $tid < 4)){
	echo 

	$descriptorspec = array(
	       0 => array("pipe", "r"),  // stdin
	       1 => array("pipe", "w"),  // stdout
	       2 => array("pipe", "w")  // stderr
	);
	$dir1 = '/home/Valve/HLServer/cstrike/ ';
	$dir2 = explode(" ", $dir1);
	$dir = $dir2[0];
	$file = "S".$port.".cfg";
	$file = $dir.$file;
	$fo = fopen($file, "w");
	fwrite($fo, ConfigFile($port, $namn, $password, $rcon));
	fclose($fo);
	exec("AT ".date("H:i", mktime(date("H")+$tid, date("i"), date("s"), date("m") , date("d"), date("Y")))." /interactive /home/Valve/HLServer/pskill.exe".$port.".exe");
	$process2 = proc_open('start S'.$port.'.exe +port '.$port.' +maxplayers 12 +servercfgfile S'.$port.'.cfg -console -game cstrike', $descriptorspec, $pipes, '/home/Valve/HLServer');
	sleep(2);
	proc_close($process2);	
	$nu = date("Y-m-d H:i");
	$da = date("Y-m-d H:i", mktime(date("H")+$tid, date("i"), date("s"), date("m") , date("d"), date("Y")));
	$nick = $_SESSION['inloggad'];
	$query = mysql_query("SELECT ID FROM cs_konton WHERE nick='$nick'", $dbh);
	$res = mysql_fetch_array($query);
	$ID = $res[0];
	$krediter = $tid*3;
	mysql_query("UPDATE cs_servrar SET start='$nu', slut='$da', kontoID='$ID' WHERE server='S".$port."'", $dbh);
	mysql_query("UPDATE cs_konton SET kredit=kredit-'$krediter' WHERE nick='$nick'", $dbh);
	header("location: cmd.php?okej=Servern bokad.<br />Den kommer upp inom kort!<br />85.226.62.71:$port<br />Rcon: $rcon<br />Lösenord: $password");
}elseif(isset($port)){
	header("location: cmd.php?wa=Du kan inte boka den servern.");
}
}

function ConfigFile($port, $namn, $password, $rcon){
if(empty($namn)){
	$namn = "Hyrd hos |";
}
if(empty($rcon)){
	$rcon = "\"\"";
}
if(empty($password)){
	$password = "\"\"";
}
return 'hostname "'.$namn.' | Mohaha"
sv_password '.$password.'
rcon_password '.$rcon.'
map de_nuke';

}

function Krediter(){
global $dbh;

echo "<fieldset><legend>Krediter</legend>\n";
if(isset($_SESSION['inloggad'])){
	$nick = $_SESSION['inloggad'];
	$query = mysql_query("SELECT kredit, ID FROM cs_konton WHERE nick='$nick'", $dbh);
	$res = mysql_fetch_array($query);
	$ID = $res[1];		
	echo "Du har <strong>".$res[0]."</strong> krediter.<br />\n";
	echo "För att ladda på med krediter, välj summa nedan och SMS:a följande till <strong>72550</strong>:<br />\n";
	echo "<table>\n";
	echo "<tr>\n";
	echo "<td><strong>Kostnad</strong></td>\n";
	echo "<td><strong>Krediter</strong></td>\n";
	echo "<td><strong>Meddelande</strong></td>\n";
	echo "</tr>\n";
	echo "<tr>\n<td>5kr</td><td>5st</td><td><strong>Aserver 5 $ID</strong></td>\n</tr>\n";
	echo "<tr>\n<td>10kr</td><td>10st</td><td><strong>Aserver 10 $ID</strong></td>\n</tr>\n";
	echo "<tr>\n<td>15kr</td><td>15st</td><td><strong>Aserver 15 $ID</strong></td>\n</tr>\n";
	echo "<tr>\n<td>20kr</td><td>20st</td><td><strong>Aserver 20 $ID</strong></td>\n</tr>\n";
	echo "<tr>\n<td>25kr</td><td>25st</td><td><strong>Aserver 25 $ID</strong></td>\n</tr>\n";
	echo "<tr>\n<td>30kr</td><td>30st</td><td><strong>Aserver 30 $ID</strong></td>\n</tr>\n";
	echo "<tr>\n<td>40kr</td><td>40st</td><td><strong>Aserver 40 $ID</strong></td>\n</tr>\n";
	echo "<tr>\n<td>50kr</td><td>50st</td><td><strong>Aserver 50 $ID</strong></td>\n</tr>\n";	
	echo "</table>\n";	
}
echo "</fieldset>\n";
}

function EchoCheck(){
global $dbh;

echo "<fieldset><legend>Boka Server</legend>\n";
echo "<strong>Boka din server här! Billigt o bra!<br></br>Hejehj <br />\n";
echo "</fieldset><br />\n";

$ip = "elitecs1.mine.nu";
$port[] = 27015;
$port[] = 27016;
$port[] = 27017;
$port[] = 27018;
$port[] = 27019;

$count = count($port);
echo "<fieldset><legend>Servrar</legend>\n";
echo "<table>\n";
echo "<tr>\n";
echo "<td><strong>Server  </strong></td>\n";
echo "<td><strong>Status  </strong></td>\n";
echo "<td><strong>Blir ledig</strong></td>\n";
echo "<td><strong>   Hyrd utav</strong></td>\n";
echo "</tr>\n";
for($i = 0; $i < $count; $i++){		
	$namn = "S".$port[$i];
	echo "<tr>\n";
	if(IsOnline($ip, $port[$i]) == 1){
		echo "<td>$namn</td>\n";
		echo "<td><img src=\"images/cross.png\" alt=\"Upptagen\" title=\"Upptagen\" /> </td>\n";
		$query = mysql_query("SELECT cs_servrar.slut, cs_konton.nick FROM cs_servrar, cs_konton WHERE cs_servrar.server='$namn' AND cs_servrar.kontoID=cs_konton.ID", $dbh);
		$res = mysql_fetch_array($query);
		echo "<td>".$res[0]."</td>\n <td>   ".$res[1]."</td>\n";
		echo "<td> </td>\n";
	}else{
		echo "<td>$namn</td>\n";
		echo "<td><img src=\"images/tick.png\" alt=\"Ledig\" title=\"Ledig\" /></td>\n";
		echo "<td> </td>\n";
		echo "<td> </td>\n";
		echo "<td><a href=\"cmd.php?o=boka&port=$port[$i]\">Boka</a></td>\n";
	}
	echo "</tr>\n";
}
echo "</table>\n";
echo "</fieldset>\n";
}

function IsOnline($ip, $port){
$connection = fsockopen("udp://$ip", $port, $felkod, $felmeddelande, 2);	 
// Om servern inte svarar, visa felmeddelande och felkod
// 1 = online, 0 = offline.
if ($connection == false) {
	return 0;
}else{			 
	// Åh, sjysst! en anslutning skapades, skicka en fråga och "lyssna" efter ett svar...
	fwrite($connection, "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00");
	stream_set_timeout($connection, 2);
	$info = fread($connection, 128);			 
	// Hej då lilla servern... over and out!
	fclose($connection);
	if(!empty($info)){
		return 1;
	}else{
		return 0;
	}
}
}

function Registrera(){
global $dbh;

$nick = $_POST['nick'];
$epost = $_POST['epost'];
$pass = $_POST['pass'];

if(isset($nick)){
	$klar = 0;
	$varning = 0;

	$query = mysql_query("SELECT nick FROM cs_konton WHERE nick='$nick'", $dbh);
	$res = mysql_fetch_array($query);
	if(empty($nick)){
		$varning++;
		EchoVarning("Fyll i nick.\n");		
	}elseif(!empty($res[0])){
		$varning++;
		EchoVarning("Nicket är redan upptaget.\n");
	}		
	$query = mysql_query("SELECT epost FROM cs_konton WHERE epost='$epost'", $dbh);
	$res = mysql_fetch_array($query);
	if(empty($epost)){
		$varning++;
		EchoVarning("Fyll i epost.\n");		
	}elseif(!empty($res[0])){
		$varning++;
		EchoVarning("Eposten är redan upptaget.\n");
	}elseif(ValidateEmail($epost) == 0){
		$varning++;
		EchoVarning("Eposten är inte godkänd.\n");
	}
	if(empty($pass)){
		$varning++;
		EchoVarning("Fyll i lösenord.\n");		
	}		
	if($varning == 0){
		$klar = 1;
		$pass = md5($pass);
		mysql_query("INSERT INTO cs_konton VALUES('', '$nick', '$epost', '$pass', '0')", $dbh);
		EchoOkej("Kontot är nu skapat.");
		echo "<br />\n";
	}

}
if($klar != 1){
	echo "<fieldset><legend>Registrera konto</legend>\n";
	echo "<form method=\"post\" action=\"cmd.php\">\n";
	echo "<input type=\"text\" name=\"nick\" value=\"$nick\" /> Nick<br />\n";
	echo "<input type=\"text\" name=\"epost\" value=\"$epost\" /> Epost<br />\n";
	echo "<input type=\"password\" name=\"pass\" /> Lösenord<br />\n";
	echo "<input type=\"hidden\" name=\"o\" value=\"registrera\" />\n";
	echo "<input type=\"submit\" value=\"Skicka\" />\n";
	echo "</form>\n</fieldset>\n";
}
}

function ValidateEmail($email){
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
	return 0;
}else{        
	return 1;
} 
}

function Installningar(){
global $dbh;

echo "<fieldset><legend>Inställningar</legend>\n";
if(isset($_SESSION['inloggad'])){	
	$nick = $_SESSION['inloggad'];
	$query = mysql_query("SELECT * FROM cs_konton WHERE nick='$nick'", $dbh);
	$res = mysql_fetch_array($query);
	if(isset($_POST['epost'])){
		$epost = $_POST['epost'];
		if(!empty($_POST['pass_n'])){
			$pass_n = md5($_POST['pass_n']);
		}else{
			$pass_n = md5($_POST['pass']);
		}
		if(md5($_POST['pass']) == $res[3] && ValidateEmail($epost) == 1){
			mysql_query("UPDATE cs_konton SET epost='$epost', pass='$pass_n' WHERE nick='$nick'", $dbh);
			EchoOkej("Uppdaterat!");
		}
	}else{			
		$epost = $res[2];		
	}

	echo "<form method=\"post\" action=\"cmd.php\">\n";
	echo "<input type=\"text\" name=\"epost\" value=\"$epost\" /> Epost<br />\n";
	echo "<input type=\"password\" name=\"pass\" /> Nuvarande lösenord<br />\n";
	echo "<input type=\"password\" name=\"pass_n\"/> Nytt lösenord<br />\n";
	echo "<input type=\"hidden\" name=\"o\" value=\"inst\" />\n";
	echo "<input type=\"submit\" value=\"Uppdatera\" />\n";
	echo "</form>\n";
}
echo "</fieldset>\n";
}

?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.