Selamlar,
Sizin zaman ayırıp detaylıca sorunu ve ihtiyacınızı açıklamadığınız bir konu için başkası neden vakit harcayıp sorununuzu öğrensin ve çözüm üretsin? Detay eklerseniz herkes bilgisi dahilinde yönlendirme yapabilir.
şimdi hocam şu şekilde benim bir php panelim var ve
<?php
if($msystem->GetObject('User')->GetUserInfo('Servers')[@$_SESSION["NOGCP_SELECTEDSERVER"]]['UserServerFTP'] == 1) {
//if(!isset($_SESSION["NOGCP_FTPNPATH"])) $_SESSION["NOGCP_FTPNPATH"] = "/";
$restricted_files = array(
"server.cfg" => 1,
"guvenlik.cfg" => 1,
"plugins-guvenlik.ini" => 1,
"plugins-shield.ini" => 1,
"plugins-oynucaz.ini" => 1,
"plugins-currentmod.ini" => 1,
"commandmenu.txt" => 1,
"config.cfg" => 1,
"autobuy.txt" => 1,
"listenserver.cfg" => 1,
"spectatormenu.txt" => 1,
"spectcammenu.txt" => 1,
"steam_appid.txt" => 1,
"sxe_local_ban.cfg" => 1,
"titles.txt" => 1,
"upatch.cfg" => 1,
"sayi.ini" => 1,
"sunucu.ini" => 1,
"rebuy.txt" => 1,
"tokens.cfg" => 1,
"tokens_api.cfg" => 1,
"readme.txt" => 1,
"oynucazbanner.res" => 1,
"cvars.ini" => 1
);
$restricted_dirs = array(
".ssh" => 1,
"antidlfile" => 1,
"dproto" => 1,
"metamod" => 1,
"sxei" => 1,
"upatch" => 1,
"[H][L][D][S]-Shield" => 1,
"dlls" => 1,
"cl_dlls" => 1,
"scripting" => 1,
"modules" => 1,
"AdBlocker" => 1,
"whblocker" => 1,
"vtc" => 1,
"uino" => 1,
"Reliable" => 1,
"nbex" => 1,
"localizebugfix" => 1,
"lbf" => 1,
"ifuf" => 1,
"fup" => 1,
"fullupd" => 1,
"FragBufFix" => 1,
"fbf" => 1,
"fakefix" => 1,
"cffix" => 1,
"cff" => 1,
"_modconfigs" => 1
);
$exts = array(
".." => "",
"dir" => "Klasor",
"ext_ini" => "Ayar Dosyası",
"ext_cfg" => "Ayar Dosyası",
"ext_res" => "Resource Ayar Dosyası",
"ext_txt" => "Metin Belgesi",
"ext_log" => "Sunucu Log Dosyası"
);
$ext_process = array(
"dir" => 2,
".." => 2,
"ext_ini" => 1,
"ext_res" => 1,
"ext_cfg" => 1,
"ext_txt" => 1,
"ext_log" => 1
);
$access_ext = array(
"tga" => 1,
"ini" => 1,
"cfg" => 1,
"txt" => 1,
"bsp" => 1,
"res" => 1,
"mdl" => 1,
"wav" => 1,
"mp3" => 1,
"bmp" => 1,
"vtf" => 1,
"vfd" => 1,
"kv" => 1,
"lst" => 1,
"nav" => 1,
"vmt" => 1,
"vtf" => 1,
"raw" => 1,
"vtx" => 1,
"png" => 1,
"jpg" => 1,
"log" => 1,
"wad" => 1,
"phy" => 1,
"vvd" => 1,
"vtx" => 1,
"pcf" => 1,
"nav" => 1,
"spr" => 1
);
$txteditor_ext = array(
"ini" => 1,
"cfg" => 1,
"txt" => 1,
"res" => 1,
"log" => 1
);
$ext_process_name = array(
1 => "Duzenle",
2 => "Klasore Git"
);
function FindRestrictedFile($name) {
global $restricted_files;
foreach( $restricted_files as $val ) {
if($val == $name)
return true;
}
return false;
}
function SayfaParcala($items, $itemsperpage, $sayfa) {
return array_slice($items, ($sayfa-1)*$itemsperpage, $itemsperpage, true);
}
function FTPCon_RestrictedPath($path) {
if($path=="") return true;
global $restricted_dirs,$restricted_files;
if(!is_dir($path)) {
$file = pathinfo($path."",PATHINFO_FILENAME).".".pathinfo($path,PATHINFO_EXTENSION);
if( !isset($restricted_files[$file]) ) return false; else return true;
} else {
$tmp_klasor = explode("/",$path);
if( !isset($restricted_dirs[$tmp_klasor[count($tmp_klasor) - 1]]) ) return false; else return true;
}
}
function cmp($a, $b)
{
return strnatcasecmp($a, $b);
}
function ListADirectory($path) {
global $exts,$ext_process,$msystem,$ftpdir;
if(!is_dir($path)) return false;
$__handle = opendir($path);
if( !$__handle ) return false;
$files2 = array();
$files3 = array();
while( FALSE !== ( $file = readdir($__handle)) ) {
if($file == "." || FTPCon_RestrictedPath($path.$file) || ($file == ".." && @$ftpdir == "/") ) continue;
$filep = $path.$file;
if(is_dir($filep)) {
$file2["type"] = $file == ".." ? $exts[".."] : $exts["dir"];
$file2["type2"] = $file2["type3"] = $file == ".." ? ".." : "dir";
$file2["size"] = "";
$file2["link"] = $msystem->GetObject("PageSystem")->CreatePageLink($_GET["Page"],"dir=".$ftpdir.$file.'/');
$files2[$file."/"] = $file2;
} else {
$ext = pathinfo($path.$file,PATHINFO_EXTENSION);
$file2["type"] = $ext == "" ? "Dosya" : ( isset($exts[strtolower("ext_".$ext)]) ? "<b>".$exts[strtolower("ext_".$ext)]."</b>" : strtoupper($ext)." Dosyasi" );
$file2["type2"] = strtolower("ext_".$ext);
$file2["type3"] = $ext;
$file2["size"] = AdvFileSize($filep);
$file2["link"] = isset($ext_process[strtolower("ext_".$ext)]) ? $msystem->GetObject("PageSystem")->CreatePageLink($_GET["Page"],"dir=".$ftpdir.'&Ac='.$file) : "#";
$files3[$file] = $file2;
}
}
closedir($__handle);
uksort($files2, "cmp");
uksort($files3, "cmp");
$files = array_merge($files2,$files3);
return $files;
}
function AdvFileSize($file) {
$size = filesize($file);
if( $size < 1099511627776 && $size > 1073741824 ) {
$size = "<span style='font-weight:bold;color:red'>".intval($size / 1048576)."G</span>";
} else if( $size < 1099511627776 && $size > 1048576 ) {
$size = "<span style='font-weight:bold;color:orange'>".intval($size / 1048576)."M</span>";
} else if( $size < 1048576 && $size > 1024) {
$size = "<span style='font-weight:bold;color:blue'>".intval($size / 1024)."K</span>";
} else if( $size < 1024) {
$size = "<span style='font-weight:bold;color:green'>".intval($size)."B</span>";
} else {
$size = "Belirlenemedi";
}
return $size;
}
$cserver = $msystem->GetObject("User")->GetUserInfo("Servers")[@$_SESSION["NOGCP_SELECTEDSERVER"]];
$dduzenle = false;
$ftpdir = '/';
if( isset($_GET['dir']) ) {
$ftpdir = trim($_GET['dir']);
if($cserver['PacketGMode'] == 'csgo') {
$control = normalizePath($cserver["ServerPath"]."/csgo".$ftpdir);
$defdir = $cserver["ServerPath"]."/csgo/";
} else {
$control = normalizePath($cserver["ServerPath"]."/cstrike".$ftpdir);
$defdir = $cserver["ServerPath"]."/cstrike/";
}
if( strlen($control) < strlen($defdir) ) {
$ftpdir = '/';
} else {
if( substr($control,0, strlen($defdir) ) != $defdir ) {
$ftpdir = '/';
}
if( substr($control, -1, 1) != '/' ) {
$ftpdir .= '/';
}
}
}
if($msystem->GetObject("SSH2")->ConnectwAuth($cserver["MachineIP"],$cserver["MachinePort"],$cserver["MachineUsername"],$cserver["MachinePassword"])) {
if($cserver['PacketGMode'] == 'csgo')
$path = $cserver["ServerPath"]."/csgo".$ftpdir;
else
$path = $cserver["ServerPath"]."/cstrike".$ftpdir;
if( isset($_GET['dbg']) )
echo $msystem->GetObject("SSH2")->SFTP_FileLink($path);
$files = ListADirectory($msystem->GetObject("SSH2")->SFTP_FileLink($path));
$sayi = count($files);
$files_curr = &$files;
$durum = 1;
$lastpath = $ftpdir;
if(isset($_FILES['dosya1'])) {
if($_FILES['dosya1']['error'] == 0) {
$ext = pathinfo($_FILES['dosya1']['name'], PATHINFO_EXTENSION);
if( !file_exists($msystem->GetObject("SSH2")->SFTP_FileLink($path.$_FILES['dosya1']['name'])) && array_key_exists($ext,$access_ext)) {
if($durum == 1)
$durum = $msystem->GetObject("SSH2")->SFTP_UploadFile($_FILES['dosya1']['tmp_name'],$path.$_FILES['dosya1']['name']);
if($durum == 1) {
print('<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Dosya başarıyla sunucuya yüklendi!</div>');
//if( !file_exists("/home/oyunculi/fast.oyunculideri.com.tr/".$cserver["ServerPath"].$ftpdir) )
if( $cserver['PacketGMode'] == 'csgo' ) {
$klasorler = explode("/", "/home/oyunculi/fast.oyunculideri.com.tr/csgo".$cserver["ServerPath"].$ftpdir);
$cnt_klasorler = count($klasorler);
$crt_dir = "";
for( $i=0; $i<$cnt_klasorler; $i++ ) {
$crt_dir .= $klasorler[$i].'/';
if( !file_exists($crt_dir) || !is_dir($crt_dir) )
@mkdir($crt_dir);
}
/*if( isset($_GET['dbg']) )
echo "/home/oyunculi/fast.oyunculideri.com.tr//".$cserver["ServerPath"].$ftpdir.$_FILES['dosya1']['name'];*/
@copy($_FILES['dosya1']['tmp_name'],"/home/oyunculi/fast.oyunculideri.com.tr/csgo".$cserver["ServerPath"].$ftpdir.$_FILES['dosya1']['name']);
exec('cd /home/oyunculi/fast.oyunculideri.com.tr/csgo'.$cserver["ServerPath"].$ftpdir.'; bzip2 '.$_FILES['dosya1']['name']);
unlink("/home/oyunculi/fast.oyunculideri.com.tr/csgo".$cserver["ServerPath"].$ftpdir.$_FILES['dosya1']['name']);
} else {
$klasorler = explode("/", "/home/oyunculi/fast.oyunculideri.com.tr/".$cserver["ServerPath"].$ftpdir);
$cnt_klasorler = count($klasorler);
$crt_dir = "";
for( $i=0; $i<$cnt_klasorler; $i++ ) {
$crt_dir .= $klasorler[$i].'/';
if( !file_exists($crt_dir) || !is_dir($crt_dir) )
@mkdir($crt_dir);
}
/*if( isset($_GET['dbg']) )
echo "/home/oyunculi/fast.oyunculideri.com.tr//".$cserver["ServerPath"].$ftpdir.$_FILES['dosya1']['name'];*/
if( $cserver['ServerPacket'] != 44 && $cserver['ServerPacket'] != 45 )
@copy($_FILES['dosya1']['tmp_name'],"/home/oyunculi/fast.oyunculideri.com.tr/".$cserver["ServerPath"].$ftpdir.$_FILES['dosya1']['name']);
}
$files = ListADirectory($msystem->GetObject("SSH2")->SFTP_FileLink($path));
} else {
print('<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Dosya sunucuya aktarılamadı!</div>');
}
$ftpdir = $lastpath;
} else {
print('<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Yüklenilen dosya hatalı/bozuk/zararlı dosya içermektedir</div>');
}
} else {
print('<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>Hata!</strong><br/>Yükleme başarısız!</div>');
}
} elseif(isset($_FILES['file'])) {
if($_FILES['file']['error'] == 0) {
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$dirx = dirname( $_POST['fullPath'] ).'/';
var_dump($path.$dirx.$_FILES['file']['name']);
if( !file_exists($msystem->GetObject("SSH2")->SFTP_FileLink($path.$dirx.$_FILES['file']['name'])) && array_key_exists($ext,$access_ext)) {
if($durum == 1) {
@mkdir( $msystem->GetObject("SSH2")->SFTP_FileLink($path.$dirx), 0777, true );
$durum = $msystem->GetObject("SSH2")->SFTP_UploadFile($_FILES['file']['tmp_name'],$path.$dirx.$_FILES['file']['name']);
}
if($durum == 1) {
print('<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Dosya başarıyla sunucuya yüklendi!</div>');
//if( !file_exists("/home/oyunculi/fast.oyunculideri.com.tr/".$cserver["ServerPath"].$ftpdir) )
if( $cserver['PacketGMode'] == 'csgo' ) {
$klasorler = explode("/", "/home/oyunculi/fast.oyunculideri.com.tr/csgo".$cserver["ServerPath"].$ftpdir.$dirx);
$cnt_klasorler = count($klasorler);
$crt_dir = "";
for( $i=0; $i<$cnt_klasorler; $i++ ) {
$crt_dir .= $klasorler[$i].'/';
if( !file_exists($crt_dir) || !is_dir($crt_dir) )
@mkdir($crt_dir);
}
/*if( isset($_GET['dbg']) )
echo "/home/oyunculi/fast.oyunculideri.com.tr//".$cserver["ServerPath"].$ftpdir.$_FILES['file']['name'];*/
@copy($_FILES['file']['tmp_name'],"/home/oyunculi/fast.oyunculideri.com.tr/csgo".$cserver["ServerPath"].$ftpdir.$dirx.$_FILES['file']['name']);
exec('cd /home/oyunculi/fast.oyunculideri.com.tr/csgo'.$cserver["ServerPath"].$ftpdir.$dirx.'; bzip2 "'.$_FILES['file']['name'].'"');
unlink("/home/oyunculi/fast.oyunculideri.com.tr/csgo".$cserver["ServerPath"].$ftpdir.$dirx.$_FILES['file']['name']);
} else {
$klasorler = explode("/", "/home/oyunculi/fast.oyunculideri.com.tr/".$cserver["ServerPath"].$ftpdir.$dirx);
$cnt_klasorler = count($klasorler);
$crt_dir = "";
for( $i=0; $i<$cnt_klasorler; $i++ ) {
$crt_dir .= $klasorler[$i].'/';
if( !file_exists($crt_dir) || !is_dir($crt_dir) )
@mkdir($crt_dir);
}
/*if( isset($_GET['dbg']) )
echo "/home/oyunculi/fast.oyunculideri.com.tr//".$cserver["ServerPath"].$ftpdir.$_FILES['file']['name'];*/
if( $cserver['ServerPacket'] != 44 && $cserver['ServerPacket'] != 45 )
@copy($_FILES['file']['tmp_name'],"/home/oyunculi/fast.oyunculideri.com.tr/".$ftpdir.$cserver["ServerPath"].$dirx.$_FILES['file']['name']);
}
$files = ListADirectory($msystem->GetObject("SSH2")->SFTP_FileLink($path));
} else {
print('<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Dosya sunucuya aktarılamadı!</div>');
}
$ftpdir = $lastpath;
} else {
print('<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Yüklenilen dosya hatalı/bozuk/zararlı dosya içermektedir</div>');
}
} else {
print('<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>Hata!</strong><br/>Yükleme başarısız!</div>');
}
} else if(isset($_GET["dir"])) {
/*if(isset($files[basename($_GET["dir"])."/"])) {
if($_GET["dir"] == "..") { $now = explode('/',$ftpdir); unset($now[count($now)-2]); $now = implode("/",$now); $ftpdir = $now; }
else $ftpdir = $ftpdir.$_GET["Ac"]."/";
$path = $cserver["ServerPath"]."/cstrike".$ftpdir;
$files = ListADirectory($msystem->GetObject("SSH2")->SFTP_FileLink($path));
$msystem->GetObject('PageSystem')->GoLocation($msystem->GetObject('PageSystem')->CreatePageLink($_GET['Page']));
} else*/ if( isset($_GET['Ac']) ) {
$file = trim($_GET['Ac']);
$filedir = $msystem->GetObject("SSH2")->SFTP_FileLink($path.$file);
$control2 = normalizePath($path.$file);
if($cserver['PacketGMode'] == 'csgo')
$defdir2 = $cserver["ServerPath"]."/csgo/";
else
$defdir2 = $cserver["ServerPath"]."/cstrike/";
if( strlen($control2) < strlen($defdir2) ) {
if($cserver['PacketGMode'] == 'csgo')
$filedir = $cserver["ServerPath"]."/csgo/";
else
$filedir = $cserver["ServerPath"]."/cstrike/";
} else {
if( substr($control2,0, strlen($defdir2) ) != $defdir2 ) {
if($cserver['PacketGMode'] == 'csgo')
$filedir = $cserver["ServerPath"]."/csgo/";
else
$filedir = $cserver["ServerPath"]."/cstrike/";
}
}
if( file_exists($filedir) && !is_dir($filedir) ) {
$info = pathinfo($filedir);
$dduzenle = true;
if( !isset($restricted_files[$file]) && isset($ext_process['ext_'.$info['extension']]) ) {
$icerik = "";
$icerik = file_get_contents($filedir);
$icerik = iconv( mb_detect_encoding($icerik), 'utf-8', $icerik);
//$icerik = file_get_contents($filedir);
if(isset($_POST["icerik"],$_POST["sendnew"])) {
$status = file_put_contents($filedir,$_POST["icerik"]);
if($status !== false) {
$icerik = $_POST["icerik"];
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Dosya başarıyla düzenlendi!</div>';
if( $_GET["Ac"] == "users.ini" ) {
$msystem->GetObject('SSH2')->Exec("screen -S {$cserver["ServerScreenName"]} -X -p0 eval \"stuff 'amx_reloadadmins'^m\"");
}
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Dosya düzenlenemedi!</div>';
}
}
}
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Dosya bulunamadı!</div>';
}
}
}
if(isset($_POST['newdir'])) {
if($cserver['PacketGMode'] == 'csgo')
$path = $cserver["ServerPath"]."/csgo".$ftpdir.$_POST["newdir"];
else
$path = $cserver["ServerPath"]."/cstrike".$ftpdir.$_POST["newdir"];
echo $msystem->GetObject("SSH2")->SFTP_FileLink($path,0777,true);
if(mkdir($msystem->GetObject("SSH2")->SFTP_FileLink($path,0777,true))) {
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Klasör oluşturuldu!</div>';
if($cserver['PacketGMode'] == 'csgo')
$path = $cserver["ServerPath"]."/csgo".$ftpdir;
else
$path = $cserver["ServerPath"]."/cstrike".$ftpdir;
$files = ListADirectory($msystem->GetObject("SSH2")->SFTP_FileLink($path));
//$msystem->GetObject('PageSystem')->GoLocation($msystem->GetObject('PageSystem')->CreatePageLink($_GET['Page']));
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>Klasör oluşturulamadı!</div>';
}
}
if( isset($_GET['del']) ) {
$file = trim($_GET['del']);
$filedir = $msystem->GetObject("SSH2")->SFTP_FileLink($path.$file);
$control2 = normalizePath($path.$file);
if($cserver['PacketGMode'] == 'csgo')
$defdir2 = $cserver["ServerPath"]."/csgo/";
else
$defdir2 = $cserver["ServerPath"]."/cstrike/";
if( strlen($control2) < strlen($defdir2) ) {
if($cserver['PacketGMode'] == 'csgo')
$filedir = $cserver["ServerPath"]."/csgo/";
else
$filedir = $cserver["ServerPath"]."/cstrike/";
} else {
if( substr($control2,0, strlen($defdir2) ) != $defdir2 ) {
if($cserver['PacketGMode'] == 'csgo')
$filedir = $cserver["ServerPath"]."/csgo/";
else
$filedir = $cserver["ServerPath"]."/cstrike/";
}
}
if( file_exists($filedir) ) {
$info = pathinfo($filedir);
if($cserver['PacketGMode'] == 'csgo')
$fast_dir = $msystem->GetObject('SSH2')->SFTP_FileLink($cserver['PacketPath'].'/csgo'.$ftpdir);
else
$fast_dir = $msystem->GetObject('SSH2')->SFTP_FileLink($cserver['PacketPath'].'/cstrike'.$ftpdir);
if( !file_exists($fast_dir.'/'.$file) ) {
if( is_dir($filedir) ) {
$msystem->GetObject('SSH2')->Exec('rm -rf '.$path.$file);
} else {
unlink($filedir);
}
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Dosya ('.$file.') silindi!</div><meta http-equiv="refresh" content="2;URL='.$msystem->GetObject('PageSystem')->CreatePageLink('sunucuwebftp', 'dir='.$ftpdir).'" />';
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Dosya silinemedi!</div><meta http-equiv="refresh" content="2;URL='.$msystem->GetObject('PageSystem')->CreatePageLink('sunucuwebftp', 'dir='.$ftpdir).'" />';
}
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Dosya bulunamadı!</div><meta http-equiv="refresh" content="2;URL='.$msystem->GetObject('PageSystem')->CreatePageLink('sunucuwebftp', 'dir='.$ftpdir).'" />';
}
}
}
}
?>bu kod webftp ve cpanel dosya yöneticisi içindeki /home/oyunculi/fast.oyunculideri.com.tr içine serverpath hangi dizinse ona göre dosyaları yüklüyor içine bende istiyorumki
bu kodu kendim hallettim bunda bir sıkıntı yok alttaki koda şunu istiyorum
<?php
$nogcpsql = $msystem->GetObject('SQLServer');
$dbprefix = &$NOGCP_SQL["DBPREFIX"];
$cserver = $msystem->GetObject("User")->GetUserInfo("Servers")[@$_SESSION["NOGCP_SELECTEDSERVER"]];
$levelsifirla_aktif = false;
$levelsifirla_array = array(
"JB1" => "xplevel.vault"
);
if(isset($levelsifirla_array[$cserver["PacketPrefix"]])) {
$levelsifirla_aktif = true;
}
$keys = array( 'sbaslat' => 1, 'sybaslat' => 1, 'sradmins' => 1, 'scbanlist' => 1, 'srtop15' => 1, 'srlevel' => 1, 'sifirla' => 1, 'sifirlanew' => 1);
$bul = array(
"Screen", "Ip", "Port", "Map", "Maxslot", "Uscript", "Tickrate"
);
$UscriptFile = '/home/ogcpcsgo/update/update_'.$cserver['ServerID'].'.txt';
$degistir = array(
$cserver["ServerScreenName"], $cserver["ServerIP"], $cserver["ServerPort"], $cserver["ServerDefaultMap"], $cserver["ServerMaxPlayers"], $UscriptFile, $cserver['ServerTickrate']
);
if(isset($_GET['dbg'])) {
echo 'Start: '.$cserver["PacketStartCMD"].'<br/> Stop: '.$cserver["PacketStopCMD"];
}
$cserver["PacketStartCMD"] = str_replace($bul,$degistir,$cserver["PacketStartCMD"]);
$cserver["PacketStopCMD"] = str_replace($bul,$degistir,$cserver["PacketStopCMD"]);
if( $cserver['PacketGMode'] == 'csgo' )
$cserver["PacketStartCMD"] = $cserver["PacketStartCMD"].' '.$cserver["StartLine"];
//echo $cserver['StartLine'];
if(isset($_GET['dbg'])) {
echo 'Start: '.$cserver["PacketStartCMD"].'<br/> Stop: '.$cserver["PacketStopCMD"];
}
if(isset($_GET["Islem"])) {
$islem = addslashes(trim(strtolower($_GET["Islem"])));
if($islem == "dene") {
$yenircon = RandomName(16);
$yenitoken = $cserver["ServerToken"];
print_r( $cserver);
//$copy_exec = $msystem->GetObject('SSH2')->Exec('nohup sh -c "cd '.$cserver["ServerPath"].'/cfg && rm gstl.cfg" &');
}
}
if(isset($_GET["Islem"])) {
$islem = addslashes(trim(strtolower($_GET["Islem"])));
if( array_key_exists($islem, $keys) ) {
if($msystem->GetObject("SSH2")->ConnectwAuth($cserver["MachineIP"],(int)$cserver["MachinePort"],$cserver["MachineUsername"],$cserver["MachinePassword"])) {
if( $cserver['PacketGMode'] == 'csgo' ) {
$ufile = $msystem->GetObject('SSH2')->SFTP_FileLink($UscriptFile);
if( !file_exists($ufile) ) {
file_put_contents($ufile, "@ShutdownOnFailedCommand 1\n@NoPromptForPassword 1\nlogin anonymous\nforce_install_dir {$cserver["ServerPath"]}\napp_update 740 \nexit\n");
}
}
if($islem == "sbaslat") {
if(isset($_GET['dbg'])) {
echo '<br/>'.$cserver["PacketStopCMD"].' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"];
}
$fark = time() - @$_SESSION['sreset_time'];
if($fark > 60*5 ) {
$komut = $msystem->GetObject('SSH2')->Exec($cserver["PacketStopCMD"].' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"]);
if ($komut) {
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Sunucu başlatıldı!</div>';
} else {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Sunucu başlatılamadı!</div>';
}
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Server sıfırlama yapildiktan sonra sunucuyu acmayiniz!<br/>Kalan Süre: '.((60*5)-$fark).' saniye</div>';
}
} else if($islem == "sybaslat") {
$fark = time() - @$_SESSION['sreset_time'];
if($fark > 60*5 ) {
$komut = $msystem->GetObject('SSH2')->Exec($cserver["PacketStopCMD"].'; cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"]);
if( isset($_GET['dbg']) ) {
echo $cserver["PacketStartCMD"];
}
if ($komut) {
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Sunucu yeniden başlatıldı!</div>';
} else {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Sunucu yeniden başlatılamadı!</div>';
}
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Server sıfırlama yapildiktan sonra sunucuyu acmayiniz!<br/>Kalan Süre: '.((60*5)-$fark).' saniye</div>';
}
} else if($islem == "sradmins") {
if( $cserver['PacketGMode'] == 'csgo' ) {
$komut = $msystem->GetObject('SSH2')->Exec("screen -S {$cserver["ServerScreenName"]} -X -p0 eval \"stuff 'sm_reloadadmins'^m\"");
} else {
$komut = $msystem->GetObject('SSH2')->Exec("screen -S {$cserver["ServerScreenName"]} -X -p0 eval \"stuff 'amx_reloadadmins'^m\"");
}
if ($komut) {
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Sunucudaki adminlikler yeniden yüklendi!</div>';
} else {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Sunucudaki adminlikler yendien yüklendi!</div>';
}
} else if($islem == "scbanlist") {
if( $cserver['PacketGMode'] == 'csgo' ) {
$ban1 = '/csgo/cfg/banned_ip.cfg'; $ban2 = '/csgo/cfg/banned_user.cfg';
} else {
$ban1 = '/cstrike/listip.cfg'; $ban2 = '/cstrike/banned.cfg';
}
unlink($msystem->GetObject('SSH2')->SFTP_FileLink($cserver["ServerPath"].$ban1));
unlink($msystem->GetObject('SSH2')->SFTP_FileLink($cserver["ServerPath"].$ban2));
$d1 = $msystem->GetObject('SSH2')->SFTP_FileLink($cserver["ServerPath"].$ban1);
$d2 = $msystem->GetObject('SSH2')->SFTP_FileLink($cserver["ServerPath"].$ban2);
$durum1 = fopen($d1, "w+");
if($durum1)
fwrite($durum1, '');
$durum2 = fopen($d2, "w+");
if($durum2)
fwrite($durum2, '');
@fclose($durum1);
@fclose($durum2);
if( $durum1 && $durum2 ) {
$komut = $msystem->GetObject('SSH2')->Exec($cserver["PacketStopCMD"].' && cd '.$cserver["ServerPath"].'; '.$cserver["PacketStartCMD"]);
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Ban Listesi Temizlendi</div>';
} else {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Ban Listesi Silinemedi</div>';
}
} else if($islem == "srtop15") {
if( $cserver['PacketGMode'] == 'csgo' )
$dep = 'sm_resetrank_all';
else
$dep = 'csstats_reset 1';
$komut = $msystem->GetObject('SSH2')->Exec("screen -S {$cserver["ServerScreenName"]} -X -p0 eval \"stuff '{$dep}; changelevel {$cserver["ServerDefaultMap"]}'^m\"");
if ($komut) {
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>TOP15 başarıyla sıfırlandı!</div>';
} else {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>TOP15 sıfırlanamadı!</div>';
}
} else if($islem == "srlevel" && $levelsifirla_aktif && $cserver['PacketGMode'] != 'csgo') {
$komut = $msystem->GetObject('SSH2')->Exec($cserver["PacketStopCMD"].'; rm -rf '.$cserver["ServerPath"]."/cstrike/addons/amxmodx/data/".$levelsifirla_array[$cserver["PacketPrefix"]].' && '.$cserver["PacketStartCMD"]);
if ($komut) {
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı!</strong><br/>Seviyeler başarıyla sıfırlandı!</div>';
} else {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Seviyeler sıfırlanamadı!</div>';
}
} else if($islem == 'sifirla') {
$fark = time() - @$_SESSION['sreset_time'];
if($fark < 60*20 ) {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Server sıfırlama işlemi 20 dakikada bir kere yapılabilir!<br/>Kalan Süre: '.((60*20)-$fark).' saniye</div>';
} else {
if( $msystem->GetObject("User")->GetUserInfo("UserGroup") == NOGCP_ALTKULLANICI ) {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Alt Kullanıcılar, sunucu sıfırlama işlemini kullanamazlar!</div>';
} else {
$_SESSION['sreset_time'] = time();
$plquery = $msystem->GetObject('SQLServer')->Query(sprintf("SELECT * FROM %spackets WHERE 1",$NOGCP_SQL['DBPREFIX']));
$packetlist = array();
if($msystem->GetObject('SQLServer')->NumRows($plquery) > 0) {
while($pl_fetch = $msystem->GetObject('SQLServer')->FetchAssoc($plquery)) {
$packetlist[$pl_fetch['PacketID']] = $pl_fetch;
}
}
$id_setuppacket = $cserver['ServerPacket'];
$setup_path = "";
if( isset($packetlist[$id_setuppacket]) && $id_setuppacket > 0 ) {
if( strlen($packetlist[$id_setuppacket]['PacketPath']) > 0 ) {
$setup_path = $packetlist[$id_setuppacket]['PacketPath'];
}
}
if(file_exists($msystem->GetObject('SSH2')->SFTP_FileLink($setup_path)) && strlen($setup_path) > 0 ) {
$i = 0;
while( file_exists($msystem->GetObject('SSH2')->SFTP_FileLink($cserver['ServerPath'].'_yedek')) ) {
$i++;
}
$msystem->GetObject('SSH2')->Exec($cserver["PacketStopCMD"].'; mv '.$cserver['ServerPath'].' '.$cserver['ServerPath'].'_yedek'.($i == 0 ? '' : $i));
$yenircon = RandomName(16);
$yenitoken = $cserver["ServerToken"];
if( $cserver['PacketGMode'] == 'csgo' ) {
echo 'csgo';
$copy_exec = $msystem->GetObject('SSH2')->Exec('nohup sh -c "cp -r '.$setup_path.' '.$cserver['ServerPath'].' && cd '.$cserver["ServerPath"].' && '.sprintf("sed -i 's/rcon_password \\\".*\\\"/rcon_password \\\"{$yenircon}\\\"/g' csgo/cfg/server.cfg && sed -i 's/hostname \\\".*\\\"/hostname \\\"AKTiF CS GO SERVER | OYNUCAZ.COM\\\"/g' csgo/cfg/server.cfg").' && '.sprintf("sed -i 's/sv_setsteamaccount \\\".*\\\"/sv_setsteamaccount \\\"{$yenitoken}\\\"/g' csgo/cfg/gstl.cfg").' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"].'" &');
}
else
{
echo 'cs16';
$copy_exec = $msystem->GetObject('SSH2')->Exec('nohup sh -c "cp -r '.$setup_path.' '.$cserver['ServerPath'].' && cd '.$cserver["ServerPath"].' && '.sprintf("sed -i 's/rcon_password \\\".*\\\"/rcon_password \\\"{$yenircon}\\\"/g' cstrike/server.cfg && sed -i 's/hostname \\\".*\\\"/hostname \\\"AKTiF CS 1.6 SERVER | OYNUCAZ.COM\\\"/g' cstrike/server.cfg").' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"].'" &');
}
if($copy_exec) {
//$msystem->GetObject('SSH2')->Exec('chmod -R 777 '.$cserver['ServerPath']);
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı</strong><br/>Server başarıyla sıfırlandı.</div>';
$msystem->GetObject('SSH2')->Exec('rm -rf '.$cserver['ServerPath'].'_yedek'.($i == 0 ? '' : $i));
} else {
$msystem->GetObject('SSH2')->Exec('mv '.$cserver['ServerPath'].'_yedek'.($i == 0 ? '' : $i).' '.$cserver['ServerPath'].' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"]);
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Server sıfırlanamadı.</div>';
}
//$msystem->GetObject('SSH2')->Exec('cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"]);
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Kurulum başarısız! Yeni sunucu dosyaları bulunamadı!</div>';
}
}
}
} else if($islem == 'sifirla02') {
$fark = time() - @$_SESSION['sreset_time'];
if( false ) {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Server sıfırlama işlemi 15 dakikada bir kere yapılabilir!<br/>Kalan Süre: '.((60*15)-$fark).' saniye</div>';
} else {
if( $msystem->GetObject("User")->GetUserInfo("UserGroup") == NOGCP_ALTKULLANICI ) {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Alt Kullanıcılar, sunucu sıfırlama işlemini kullanamazlar!</div>';
} else {
$_SESSION['sreset_time'] = time();
$plquery = $msystem->GetObject('SQLServer')->Query(sprintf("SELECT * FROM %spackets WHERE 1",$NOGCP_SQL['DBPREFIX']));
$packetlist = array();
if($msystem->GetObject('SQLServer')->NumRows($plquery) > 0) {
while($pl_fetch = $msystem->GetObject('SQLServer')->FetchAssoc($plquery)) {
$packetlist[$pl_fetch['PacketID']] = $pl_fetch;
}
}
$id_setuppacket = $cserver['ServerPacket'];
$setup_path = "";
if( isset($packetlist[$id_setuppacket]) && $id_setuppacket > 0 ) {
if( strlen($packetlist[$id_setuppacket]['PacketPath']) > 0 ) {
$setup_path = $packetlist[$id_setuppacket]['PacketPath'];
}
}
if( !file_exists($msystem->GetObject('SSH2')->SFTP_FileLink('/tmp/setup_'.$cserver['ServerID'])) ):
if(file_exists($msystem->GetObject('SSH2')->SFTP_FileLink($setup_path)) && strlen($setup_path) > 0 ) {
$i = 0;
while( file_exists($msystem->GetObject('SSH2')->SFTP_FileLink($cserver['ServerPath'].'_yedek')) ) {
$i++;
}
$msystem->GetObject('SSH2')->Exec($cserver["PacketStopCMD"].'; mv '.$cserver['ServerPath'].' '.$cserver['ServerPath'].'_yedek'.($i == 0 ? '' : $i));
$yenircon = RandomName(16);
$yenitoken = $cserver["ServerToken"];
if( strlen($yenitoken) > 5 ) {
echo 'csgo';
$copy_exec = $msystem->GetObject('SSH2')->Exec('nohup sh -c "cd '.$cserver["ServerPath"].'/cfg && rm gstl.cfg" &');
//$copy_exec = $msystem->GetObject('SSH2')->Exec('nohup sh -c "cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"].'" &');
//echo 'nohup sh -c "cp -r '.$setup_path.' '.$cserver['ServerPath'].' && cd '.$cserver["ServerPath"].' && '.sprintf("sed -i 's/rcon_password \\\".*\\\"/rcon_password \\\"{$yenircon}\\\"/g' csgo/cfg/server.cfg && sed -i 's/hostname \\\".*\\\"/hostname \\\"AKTiF CS GO SERVER | OYNUCAZ.COM\\\"/g' csgo/cfg/server.cfg").' && '.sprintf("sed -i 's/sv_setsteamaccount \\\".*\\\"/sv_setsteamaccount \\\"{$yenitoken}\\\"/g' csgo/cfg/gstl.cfg").' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"].'" &';
//$copy_exec = $msystem->GetObject('SSH2')->Exec('nohup sh -c "cp -r '.$setup_path.' '.$cserver['ServerPath'].' && cd '.$cserver["ServerPath"].' && '.sprintf("sed -i 's/rcon_password \\\".*\\\"/rcon_password \\\"{$yenircon}\\\"/g' csgo/cfg/server.cfg && sed -i 's/hostname \\\".*\\\"/hostname \\\"AKTiF CS GO SERVER | OYNUCAZ.COM\\\"/g' csgo/cfg/server.cfg").' && '.sprintf("sed -i 's/sv_setsteamaccount \\\".*\\\"/sv_setsteamaccount \\\"{$yenitoken}\\\"/g' csgo/cfg/gstl.cfg").' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"].'" &');
}
else
echo $server['PacketGMode'].'not csgo';
//$copy_exec = $msystem->GetObject('SSH2')->Exec('nohup sh -c "cp -r '.$setup_path.' '.$cserver['ServerPath'].' && cd '.$cserver["ServerPath"].' && '.sprintf("sed -i 's/rcon_password \\\".*\\\"/rcon_password \\\"{$yenircon}\\\"/g' cstrike/server.cfg && sed -i 's/hostname \\\".*\\\"/hostname \\\"AKTiF CS 1.6 SERVER | OYNUCAZ.COM\\\"/g' cstrike/server.cfg").' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"].'" &');
if($copy_exec) {
//$msystem->GetObject('SSH2')->Exec('chmod -R 777 '.$cserver['ServerPath']);
echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarılı</strong><br/>Server Sıfırlandı</div>';
$msystem->GetObject('SSH2')->Exec('rm -rf '.$cserver['ServerPath'].'_yedek'.($i == 0 ? '' : $i).' &');
} else {
$msystem->GetObject('SSH2')->Exec('mv '.$cserver['ServerPath'].'_yedek'.($i == 0 ? '' : $i).' '.$cserver['ServerPath'].' && cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"].' &');
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Server Sıfırlanamadı</div>';
}
//$msystem->GetObject('SSH2')->Exec('cd '.$cserver["ServerPath"].' && '.$cserver["PacketStartCMD"]);
} else {
echo '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız</strong><br/>Kurulum başarısız! Yeni sunucu dosyaları bulunamadı!</div>';
}
else:
echo '<div class="alert alert-info">Hali hazırda bir kurulum yürütülmekte. Bir süre bekleyiniz.</div>';
endif;
}
}
}
} else {
echo '<div class="alert alert-warning"><button type="button" class="close" data-dismiss="alert">×</button><strong>İşlem Başarısız!</strong><br/>Sunucuya bağlantı başarısız oldu!</div>';
}
}
}
?>burda sunucu sıfırlama kodu var ben hangi sunucu sıfırlandıysa eğer onun yukardaki webftp kodundaki serverpath nin fast.oyunculideri.com.tr içinden serverpath silinsin istiyorum ama sunucu sıfırlandığı zaman nasıl yaparım ?