T
tx_g
Gast
Hallo, ich bin gerade dabei mir ein kleines Webinterface für meinen CSGO Server zu bauen. Allerdings funktioniert das alles nicht so wie ich es mir gedacht habe.
Hier ist erst einmal der Code:
index.php
start.php
Nachdem man alles Ausgewählt hat startet der Server. Allerdings hängt die Seite dann bei "warten auf Antwort " o.Ä. fest, da shell_exec nicht abgeschlossen wird, da der Server ja mit ihm startet. Das sollte so nicht sein. Er soll den Befehl ausführen also den Server starten und dann einfach weiter machen.
Das zweite Problem das ich habe ist, wenn der Server läuft, wie bekomme ich ihn wieder aus? Dafür habe ich noch keine Lösung gefunden.
Evtl könnt ihr mir da helfen.
Hier ist erst einmal der Code:
index.php
PHP:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
<center>
<div class="box">
<div id="h1">CSGO SERVER</div>
<form action="#" method="post">
<?php include 'start.php';?>
<p>
</label>
<label>Gamemode
<select name="gm" size="1">
<option>-</option>
<optgroup label="Classic Casual">
<option>+game_type 0 +game_mode 0 </option>
</optgroup>
<optgroup label="Classic Competitive">
<option>+game_type 0 +game_mode 1 </option>
</optgroup>
<optgroup label="Deathmatch">
<option>+game_type 1 +game_mode 2 </option>
</optgroup>
<optgroup label="Arms Race">
<option>+game_type 1 +game_mode 0 </option>
</optgroup>
<optgroup label="Demolition">
<option>+game_type 1 +game_mode 1 </option>
</optgroup>
</select>
</label>
</p>
<p>
<label>Map
<select name="map" size="1">
<option>-</option>
<optgroup label="de_Map">
<option>de_dust</option>
<option>de_dust2</option>
<option>de_cache</option>
<option>de_cbble</option>
<option>de_shortdust</option>
<option>de_canals</option>
<option>de_nuke</option>
<option>de_vertigo</option>
<option>de_train</option>
<option>de_overpass</option>
<option>de_mirage</option>
<option>de_atztec</option>
<option>de_savehouse</option>
<option>de_stmarc</option>
<option>de_atztec</option>
</optgroup>
<optgroup label="ar_Map">
<option>ar_baggage</option>
<option>ar_dizzy</option>
<option>ar_shots</option>
<option>ar_monastery</option>
</optgroup>
<optgroup label="cr_Map">
<option>cs_italy</option>
<option>cs_assault</option>
<option>cs_insertion</option>
<option>cs_office</option>
</optgroup>
</select>
</p>
<p>
</label>
<label>Tickrate
<select name="tr" size="1">
<option>-</option>
<option>64<option>
<option>128</option>
</select>
</label>
</p>
<p>
</label>
<label>Max_Player
<select name="player" size="1">
<option>-</option>
<option>2<option>
<option>4</option>
<option>8<option>
<option>16</option>
<option>32<option>
<option>64</option>
</select>
</label>
</p>
<input type="submit" value="START" name="submit" id="button"></input>
</form>
</div>
</div>
</body>
start.php
PHP:
<?php
session_start();
if (isset($_POST['submit'])) {
$gamemode = $_POST['gm'];
$map = $_POST['map'];
$tr = $_POST['tr'];
$player = $_POST['players'];
input($gamemode, $map, $tr, $player);
}
function input ($gamemode, $map, $tr, $player){
if($gamemode=='-'){die("<div id='errormsg'>Bitte kontrolliere deine Eingabe.</div>");}
if($map=='-'){die("<div id='errormsg'>Bitte kontrolliere deine Eingabe.</div>");}
if($tr=='-'){die("<div id='errormsg'>Bitte kontrolliere deine Eingabe.</div>");}
if($player=='-'){die("<div id='errormsg'>Bitte kontrolliere deine Eingabe.</div>");}
start ($gamemode, $map, $tr, $player);
}
function start ($gamemode, $map, $tr, $player){
$account = "SteamAccountCode";
$command = "./srcds_run -game csgo -console -usercon $gamemode -maxplayers_override $player +exec server.cfg +map $map -tickrate $tr +sv_setsteamaccount $account";
shell_exec ("/home/steam/server/$command");
die("<div id='msg'>Server gestartet.</div>");
}
?>
Nachdem man alles Ausgewählt hat startet der Server. Allerdings hängt die Seite dann bei "warten auf Antwort " o.Ä. fest, da shell_exec nicht abgeschlossen wird, da der Server ja mit ihm startet. Das sollte so nicht sein. Er soll den Befehl ausführen also den Server starten und dann einfach weiter machen.
Das zweite Problem das ich habe ist, wenn der Server läuft, wie bekomme ich ihn wieder aus? Dafür habe ich noch keine Lösung gefunden.
Evtl könnt ihr mir da helfen.