Kapalı','Açık'); // İzin değişken atamaları $plugincon = $controls_status[$serverinfo["ServerPluginCon"]]; $modcon = $controls_status[$serverinfo["ServerModCon"]]; $ftpcon = $controls_status[$serverinfo["ServerFTPCon"]]; // filelink for server.cfg $filelink = ""; // create the start and stop commands and merge with the server info array $serverinfo = array_merge( $serverinfo, CreateStartStopStrings($serverinfo) ); /// Create Required Objects /// -- for ServerInfo $server = new SourceQuery(); /// -- for connecting the linux server $ssh2 = new sycp_ssh2(); /// Connect to linux server. if($ssh2->ConnectwAuth($serverinfo["MachIP"],(int)$serverinfo["MachPort"],$serverinfo["MachUser"],$serverinfo["MachPass"])) { $filelink = $ssh2->SFTP_FileLink($serverinfo["ServerPath"]."/csgo/cfg/server.cfg"); } else { $filelink = ""; $message = '
Sunucuya erişim sağlanamadı. Veriler alınamıyor.
'; } /// for control the server is online or offline--! $svOnline = false; $svRcon = false; /// If file link is not empty, then the ssh2 connection was successful. if( $filelink != "" ) { // Get the rcon password from server.cfg $rconpass = CFG_GetVariable($filelink,array( 'rcon_password' )); $rconpass = @$rconpass['rcon_password'][0][1]; /// Connecting to the server. try { // Try to connect, $server->Connect($serverinfo["ServerIP"],$serverinfo["ServerPort"], 1); // If connection is started successfully, then set the $svOnline variable to true $svOnline = true; // Set the rcon password and authorize it. $server->SetRconPassword($rconpass); // Authorization is successful, then set the $svRcon variable to true. $svRcon = true; } catch (Exception $e ) { $message = $e->getMessage(); } // Server Quick Actions if(isset($_GET["Islem"])) { switch($_GET["Islem"]) { case "IP_Temizle": { unlink($ssh2->SFTP_FileLink($serverinfo["ServerPath"]."/csgo/cfg/banned_ip.cfg")); $message = ('
×Başarılı! Yasaklanmış IP\'ler temizlendi!
'); break; } case "ID_Temizle": { unlink($ssh2->SFTP_FileLink($serverinfo["ServerPath"]."/csgo/cfg/banned_user.cfg")); $message = ('
×Başarılı! Yasaklanmış ID\'ler temizlendi!
'); break; } case "Sunucu_Restart": { $shell = ServerStartStop($serverinfo, FALSE, $ssh2); if($shell != false) { $message = ('
×Başarılı! Sunucunuz yeniden başlatıldı!
'); } else { $message = ('
×Başarısız! Sunucunuz yeniden başlatılamadı!
'); } @fclose($shell); break; } case "Reset_toptime": { $shell = $ssh2->Exec("rm -rf {$serverinfo["ServerPath"]}/csgo/addons/sourcemod/data/sqlite/mostactive.sq3"); $shell = ServerStartStop($serverinfo, FALSE, $ssh2); if($shell != false) { $message = ('
×Başarılı! toptime sıfırlandı!
'); } else { $message = ('
×Başarısız! toptime sıfırlanamadı!
'); } break; } case "ws_knife_Temizle": { $shell = $ssh2->Exec("rm -rf {$serverinfo["ServerPath"]}/csgo/addons/sourcemod/data/sqlite/sourcemod-local.sq3"); $shell = ServerStartStop($serverinfo, FALSE, $ssh2); if($shell != false) { $message = ('
×Başarılı! Loglar temizlendi!
'); } else { $message = ('
×Başarısız! Loglar temizlenemedi!
'); } break; } case "Log_Temizle": { $shell = $ssh2->Exec("rm -rf {$serverinfo["ServerPath"]}/csgo/addons/sourcemod/data/sqlite/BanIdFix.sq3 && rm -rf {$serverinfo["ServerPath"]}/core && rm -rf {$serverinfo["ServerPath"]}/csgo/auto0* && rm -rf {$serverinfo["ServerPath"]}/csgo/waspdemo/* && rm -rf {$serverinfo["ServerPath"]}/csgo/logs/* && rm -rf {$serverinfo["ServerPath"]}/csgo/addons/sourcemod/logs/* && rm -rf {$serverinfo["ServerPath"]}/csgo/logfiles/* && rm -rf {$serverinfo["ServerPath"]}/screenlog.0"); unlink($ssh2->SFTP_FileLink($serverinfo["ServerPath"]."/csgo/cfg/banned_user.cfg")); unlink($ssh2->SFTP_FileLink($serverinfo["ServerPath"]."/csgo/cfg/banned_ip.cfg")); $shell = ServerStartStop($serverinfo, FALSE, $ssh2); if($shell != false) { $message = ('
×Başarılı! Loglar ve Banlar temizlendi!
'); } else { $message = ('
×Başarısız! Loglar ve Banlar temizlenemedi!
'); } break; } case "Reset_Top15": { $shell = $ssh2->Exec("rm -rf {$serverinfo["ServerPath"]}/csgo/addons/sourcemod/data/sqlite/rankme.sq3"); $shell = ServerStartStop($serverinfo, FALSE, $ssh2); if($shell != false) { $message = ('
×Başarılı! TOP15 sıfırlandı!
'); } else { $message = ('
×Başarısız! TOP15 sıfırlanamadı!
'); } break; } case "Sunucu_Sifirla": { if( isset($userinf['UserSubUser'])) { $message = 'Alt Kullanıcılar, sunucuyu sıfırlayamazlar!'; break; } if( isset($_SESSION['sv_resetdate']) && time() <= ($_SESSION['sv_resetdate']+300) ) { $message = 'Sunucunuzu 5 dakikada bir sıfırlayabilirsiniz!'; break; } $setup_path = $serverinfo['PacketPath']; if( substr($serverinfo['ServerPath'],strlen($serverinfo['ServerPath']) - 1,1) == '/' ) { $serverinfo['ServerPath'] = substr( $serverinfo['ServerPath'], 0, -1); } if(file_exists($ssh2->SFTP_FileLink($setup_path)) && strlen($setup_path) > 0 ) { $i = 0; while( file_exists($ssh2->SFTP_FileLink($serverinfo['ServerPath'].'_yedek'.($i ? $i : ''))) ) { $i++; } $ssh2->Exec($serverinfo["QStop"]); $ssh2->Exec('mv '.$serverinfo['ServerPath'].' '.$serverinfo['ServerPath'].'_yedek'.($i == 0 ? '' : $i)); $yenircon = RandomName(16); $copy_exec = $ssh2->Exec('nohup sh -c "cp -r '.$setup_path.' '.$serverinfo['ServerPath'].' && cd '.$serverinfo["ServerPath"].' && '.sprintf("sed -i 's/rcon_password \\\".*\\\"/rcon_password \\\"{$yenircon}\\\"/g' csgo/cfg/server.cfg && sed -i 's/hostname \\\".*\\\"/hostname \\\"WASP.GEN.TR | {$__serverName}\\\"/g' csgo/cfg/server.cfg").' && cd '.$serverinfo["ServerPath"].' && '.$serverinfo["QStart"].'" &'); if($copy_exec) { $message = '
İşlem Başarılı
Server Sıfırlandı - Sunucu 3 ila 5 dakika arasında aktif olacaktır. Lütfen en geç 10 dakika sonra açılmaz ise sunucunuzu başlatmayı deneyiniz. Sunucunuzu sıfırladıktan sonra (yeniden) başlatmak, sunucunun sıfırlanmasında sorun çıkaracaktır.
'; $ssh2->Exec('rm -rf '.$serverinfo['ServerPath'].'_yedek'.($i == 0 ? '' : $i)); } else { $ssh2->Exec('mv '.$serverinfo['ServerPath'].'_yedek'.($i == 0 ? '' : $i).' '.$serverinfo['ServerPath'].' && cd '.$serverinfo["ServerPath"].' && '.$serverinfo["QStart"]); $message = '
İşlem Başarısız
Server sıfırlanamadı, yeni dosyalar kopyalanamadı.
'; } $_SESSION['sv_resetdate'] = time(); } else { $message = '
Kurulum başarısız! Yeni sunucu dosyaları bulunamadı!
'; } break; } } } // Player operations if(isset($_POST["ban"])) { $shell = $ssh2->Exec("screen -S {$serverinfo['Screen']} -X -p0 eval \"stuff 'sm_kick \"#{$_POST["username"]}\";wait;wait;banid 0 \"{$_POST["username"]}\"'^m\""); if($shell != false) { $message = ('
İşlem Başarılı!
İşlem:
'.$_POST['username'].' adlı oyuncuya sunucudan yasaklandı! (Süre: sınırsız)
'); } else { $message = ('
İşlem Başarısız!
İşlem:
'.$_POST['username'].' adlı oyuncu sunucudan yasaklanamadı!
'); } } else if(isset($_POST["kick"])) { $_POST['username'] = str_replace(array('"', "'"), '',trim($_POST['username'])); $shell = $ssh2->Exec("screen -S {$serverinfo['Screen']} -X -p0 eval \"stuff 'sm_kick \"#{$_POST["username"]}\";'^m\""); if($shell != false) { $message = ('
İşlem Başarılı!
İşlem:
'.$_POST['username'].' adlı oyuncu sunucudan atıldı!
'); } else { $message = ('
İşlem Başarısız!
İşlem:
'.$_POST['username'].' adlı oyuncu sunucudan atılamadı!
'); } } else if( isset($_POST['mapchange'],$_POST['map']) ) { $_POST['map'] = str_replace(array(' ', '"', "'"), '',trim($_POST['map'])); $shell = $ssh2->Exec("screen -S {$serverinfo['Screen']} -X -p0 eval \"stuff 'sm_map \"{$_POST["map"]}\";'^m\""); if($shell != false) { $message = ('
İşlem Başarılı!
İşlem:
'.$_POST['map'].' adlı harita açıldı!
'); } else { $message = ('
İşlem Başarısız!
İşlem:
'.$_POST['map'].' adlı harita açılamadı!
'); } $message = (''); } else if( isset($_POST['pwchange'],$_POST['pw']) ) { $_POST['pw'] = str_replace(array(' ', '"', "'"), '',trim($_POST['pw'])); $kicks_status = $_POST['pw'] != "" ? true : false; if( $kicks_status ) $shell = $ssh2->Exec("screen -S {$serverinfo['Screen']} -X -p0 eval \"stuff 'sv_password \"{$_POST["pw"]}\";'^m\""); else $shell = $ssh2->Exec("screen -S {$serverinfo['Screen']} -X -p0 eval \"stuff 'sv_password \"none\";'^m\""); if($shell != false) { $message = ('
İşlem Başarılı!
İşlem:
Sunucu şifresi "'.$_POST['pw'].'" olarak ayarlandı!
'); } else { $message = ('
İşlem Başarısız!
İşlem:
Sunucu şifresi "'.$_POST['pw'].'" olarak ayarlanamadı!
'); } $message .= (''); } else if( isset( $_GET['Process']) ) { if( $_GET['Process'] == 'Remove_Pass' ) { $shell = $ssh2->Exec("screen -S {$serverinfo['Screen']} -X -p0 eval \"stuff 'sv_password \"none\";'^m\""); if($shell != false) { $message = ('
İşlem Başarılı!
İşlem:
Sunucunun şifresi kaldırıldı!
'); } else { $message = ('
İşlem Başarısız!
İşlem:
Sunucunun şifresi kaldırılamadı!
'); } } } if( $svOnline ) { try { $inff = $server->GetInfo(); //$message = print_r($players, TRUE); $info["ip"] = $serverinfo["ServerIP"].':'.$serverinfo['ServerPort']; $info["hostname"] = $inff["HostName"]; $info["map"] = $inff["Map"]; $info["players"] = $inff["Players"]; $info["mplayers"] = $inff["MaxPlayers"]; $sonuc = $info["players"] / $info["mplayers"] * 100; if( $svRcon ) { $players = $server->ServerInfo(); //print_r( $players ); unset($players["ip"],$players["name"],$players["map"],$players["mod"],$players["game"],$players["activeplayers"],$players["maxplayers"]); $players = $players["players"]; } } catch( Exception $e ) { $message = $e->getMessage(); $players = false; } } else { $players = false; } // Cvarları çek lazım bunlar. if( $svRcon ) { try { $rules['timeleft'] = $server->Rcon("timeleft"); $rules['mp_timelimit'] = $server->GetCvar("mp_timelimit"); $rules['mp_roundtime'] = $server->GetCvar("mp_roundtime"); $info['password'] = $server->GetCvar("sv_password"); $info["s_status"] = true; } catch( Exception $e ) { $rules['timeleft'] = "-----"; $rules['mp_timelimit'] = "-----"; $rules['mp_roundtime'] = "-----"; $info['password'] = ""; $info['s_status'] = false; } } } if( !$svRcon ){ $rules['timeleft'] = "-----"; $rules['mp_timelimit'] = "-----"; $rules['mp_roundtime'] = "-----"; $info['password'] = ""; $info['s_status'] = false; } if( !$svOnline ) { $players = array(); $info["ip"] = $serverinfo["ServerIP"].":".$serverinfo["ServerPort"]; $info["hostname"] = @$info["hostname"] == "" ? "Sunucu Kapalı" : @$info["hostname"]; $info["map"] = @$info["map"] == "" ? "-----" : @$info["map"]; $info["mplayers"] = 0; $info["mplayers"] = $serverinfo["ServerMaxPlayers"]; $rules['timeleft'] = "-----"; $rules['mp_timelimit'] = "-----"; $rules['mp_roundtime'] = "-----"; $info['password'] = ""; $info["s_status"] = false; } //$message = print_r($serverinfo, true); ?>