PHP-Fusion Mods
Navigacija
Apsauga
Apsauga Neleista registracija: 38932
Šiandien: 15
Prisijungę nariai
» Svečių: 7
» Narių: 0

» Viso narių: 10,235
» Naujausias: ruslanas tuk

Prisijungimų istorija:
tabux03:50:45
sanpernepamenu
Zbigniew@nepamenu
CepelinasXnepamenu
VV91DDnepamenu
Minusnepamenu
priezilviciunepamenu
EdvinasG1337nepamenu
rolandas94nepamenu
Edis2nepamenu
klubogerbejasnepamenu
Miskinisnepamenu
Pask. modai
Prisijungti
Vardas

Slaptažodis



Dar ne narys?
Registruotis.

Pamiršai slaptažodį?
Prašyk naujo!.

Naujausi prašymai
[L] testas
Narių apklausa
Ar dar kuriate tinklalapius?

Ne
Ne
0% [0 Balsai]

Taip
Taip
88% [7 Balsai]

Naudojuosi socialiniais tinklais
Naudojuosi socialiniais tinklais
13% [1 Balsas]

Balsai: 8
Kad galėtum balsuoti, turi prisijungti.
Pradėta: 2022-05-29 19:54
Shoutbox
You must login to post a message.

2026-03-21 19:07

2025-07-13 17:07
svx, smagu kad dar atsiranda naujų narių Šypsosi2

2024-03-07 22:13
Oj Tabux… apkabinčiau už tą moderatorių 😁

2024-02-22 17:40
Šypsosi2 jo buvo laikai.. Senukai jau mes. Bega laikas greiciau nei noretusi. Smagu matyti kad uzsuka seni nariai, ne as vienas Šypsosi

2024-02-20 22:18
Zodziu.. Nostalgija. Sorry Tabux uz spam’a, netelpa viskas i viena shout’a. 😁

Shoutbox Archive
Peržiūrėti temą
 Spausdinti temą
padekit kur jy det?
Giedrius
#1 Spausdinti pranešimą
parašyta 2008-09-25 21:53
Naujokas



Reputacija: 0

Pranešimai: 22
Įstojo: 2008-09-24

Download source  Code
 
License details
---------------
 
AUTHOR(S):      David Weston (dweston@hotmail.co.uk)
 
LICENCE:        This program is free software; you can redistribute it and/or
                modify it under the terms of the GNU General Public License
                as published by the Free Software Foundation; either version 2
                of the License, or (at your option) any later version.
 
                This program is distributed in the hope that it will be useful,
                but WITHOUT ANY WARRANTY; without even the implied warranty of
                MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                GNU General Public License for more details.
 
                You should have received a copy of the GNU General Public License
                along with this program; if not, write to the Free Software
                Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
                MA 02110-1301, USA.
           
OTHER INFO:     Enjoy using my RCON/PHP script, this will help you a lot! :3
   
    []
    ||_______
    /_________\
    | F  M  N |
    -----------
   
*/
session_start();
 
/* Configuration */
define(\"ONEHOSTONLY\", true);                   // Set this to true if you would use a username instead of server IP
 
define(\"DEFAULT_HOST\", \"localhost\");           // If 'ONEHOSTONLY' is true, the hostname/IP.
define(\"DEFAULT_PORT\", \"7777\");                // If 'ONEHOSTONLY' is true, the server's port.
define(\"DEFAULT_PASS\", \"changeme\");            // If 'ONEHOSTONLY' is true, the RCON password.
define(\"USERNAME\", \"rcon\");                    // If 'ONEHOSTONLY' is true, the username to login.
define(\"PASSWORD\", md5(\"ohai\"));               // If 'ONEHOSTONLY' is true, the password to login. [MD5]
 
/**********************************************************************/
?>
 

SA:MP RCON Panel - created by Westie
 
/**********************************************************************/
 
$stats = new SampStatsCore;
 
if(!isset($_SESSION['tmp_data']))
{
    if(ONEHOSTONLY == false)
    {
        $_SESSION['tmp_data'] = array
        (
            \"logged_in\"    => false,
            \"serverip\"    => \"255.255.255.255\",
            \"servport\"    => \"1024\",
            \"servpass\"    => \"changeme\",
            \"history\"    => array(),
            \"connect\"    => mktime()
        );
    }
   
    elseif(ONEHOSTONLY == true)
    {
        $_SESSION['tmp_data'] = array
        (
            \"logged_in\"    => false,
            \"serverip\"    => DEFAULT_HOST,
            \"servport\"    => DEFAULT_PORT,
            \"servpass\"    => DEFAULT_PASS,
            \"history\"    => array(),
            \"connect\"    => mktime()
        );
    }
}
 
if(ONEHOSTONLY == false)
{
    if(isset($_POST['serverip']))
    {
        $_SESSION['tmp_data']['logged_in'] = true;
        $_SESSION['tmp_data']['serverip'] = $_POST['serverip'];
        $_SESSION['tmp_data']['servport'] = $_POST['servport'];
        $_SESSION['tmp_data']['servpass'] = $_POST['servpass'];
        $_SESSION['tmp_data']['history'][] = \"Logged on to \".$_SESSION['tmp_data']['serverip'].\":\"
                                            .$_SESSION['tmp_data']['servport'].\" at \".
                                            date(\"F j, Y, H:i\", $_SESSION['tmp_data']['connect']).\".\";
    }
}
 
elseif(ONEHOSTONLY == true)
{
    if($_POST['username'] == USERNAME && md5($_POST['password']) == PASSWORD)
    {
        $_SESSION['tmp_data']['history'][] = \"Logged on to \".$_SESSION['tmp_data']['serverip'].\":\"
                                            .$_SESSION['tmp_data']['servport'].\" at \".
                                            date(\"F j, Y, H:i\", $_SESSION['tmp_data']['connect']).\".\";
        $_SESSION['tmp_data']['logged_in'] = true;
        $_SESSION['tmp_data']['serverip'] = DEFAULT_HOST;
        $_SESSION['tmp_data']['servport'] = DEFAULT_PORT;
        $_SESSION['tmp_data']['servpass'] = DEFAULT_PASS;
    }
}
 
if($_SESSION['tmp_data']['logged_in'] == false) { DisplayLoginForm(); exit; }
GetMain();
 
/**********************************************************************/
 
$_SESSION['tmp_env']['allowprint'] = array
(
    \"cmdlist\",
    \"varlist\"
);
 
$_SESSION['tmp_env']['printkey'] = array
(
    \"loadfs\", \"unloadfs\", \"reloadfs\", \"kick\", \"ban\", \"unbanip\", \"banip\", \"echo\",
    \"gmx\", \"reloadbans\", \"reloadlogs\", \"gravity\", \"weather\", \"say\", \"changemode\",
    \"hostname\", \"password\", \"rcon_password\"
);
 
$_SESSION['tmp_env']['printmessage'] = array
(
    \"loadfs\"        => \"fs> %1 has been loaded.\",
    \"unloadfs\"        => \"fs> %1 has been unloaded.\",
    \"reloadfs\"        => \"fs> %1 has been reloaded.\",
 
    \"kick\"            => \"kick> %1 has been kicked from the server.\",
    \"ban\"            => \"ban> %1 has been banned from the server.\",
    \"banip\"            => \"ban> The IP '%1' has been banned from the server.\",
    \"banip\"            => \"ban> The IP '%1' has been unbanned from the server.\",
 
    \"changemode\"    => \"gm> The mode has been changed to '%1'.\",
    \"gmx\"            => \"gm> The current mode has been restarted.\",
 
    \"reloadbans\"    => \"serv> The bans file has been reloaded.\",
    \"reloadlogs\"    => \"serv> The logs file has been reloaded.\",
 
    \"gravity\"        => \"env> The server's gravity has been changed to %1.\",
    \"weather\"        => \"env> The server's weather has been changed to %1.\",
 
    \"say\"            => \"say> %1\",
    \"echo\"            => \"%1\",
   
    \"hostname\"        => \"serv> The server's name has been changed to '%1'.\",
    \"password\"        => \"serv> The server's password has been changed to '%1'\",
    \"rcon_password\"    => \"serv> The RCON password has been changed. Now, please \"
                       .\"log back in with the new RCON password.\"
);
 
/**********************************************************************/
 
function RawRCON($ip, $port, $password, $command, $return = true)
{
    $packet = 'SAMP';
    $packet .= chr(strtok($ip, '.'));
    $packet .= chr(strtok('.'));
    $packet .= chr(strtok('.'));
    $packet .= chr(strtok('.'));
    $packet .= chr($port & 0xFF);
    $packet .= chr($port >> 8 & 0xFF);
    $packet .= 'x';
    $packet .= chr(strlen($password) & 0xFF);
    $packet .= chr(strlen($password) >> 8 & 0xFF);
    $packet .= $password;
    $packet .= chr(strlen($command) & 0xFF);
    $packet .= chr(strlen($command) >> 8 & 0xFF);
    $packet .= $command;
 
    $sock = fsockopen('udp://'.$ip, $port, $errno, $errstr, 0);
    fwrite($sock, $packet);
    $returnstr = \"\";
    $cmd = explode(\" \", $command, 2);
 
    if($return && in_array($cmd[0], $_SESSION['tmp_env']['allowprint']))
    {
        while(!feof($sock))
        {
            $str = fread($sock,128);
            $str = substr($str,13,strlen($str)-13);
            if(!$str) break;
            $returnstr .= $str.\"\r\n\";
            $_SESSION['tmp_data']['history'][] = $str;
        }
    }
    elseif($return && in_array($cmd[0], $_SESSION['tmp_env']['printkey']))
    {
        $find = array(\"%0\", \"%1\");
        $repl = array($cmd[0], $cmd[1]);
        $str = str_replace($find, $repl, $_SESSION['tmp_env']['printmessage'][$cmd[0]]);
        $returnstr .= $str;
        $_SESSION['tmp_data']['history'][] = $returnstr;
    }
    else
    {
        $find = array(\"%0\", \"%1\");
        $repl = array($cmd[0], $cmd[1]);
        $returnstr = str_replace($find, $repl, \"misc> Command has been sent, may be invalid. (\".$cmd[0].\" \".$cmd[1].\")\");
        $_SESSION['tmp_data']['history'][] = $returnstr;
    }
   
    fclose($sock);
    $returnstr .= \"\r\n\";
    return $returnstr;
}
 
/**********************************************************************/
 
function DisplayLoginForm()
{
    echo '
';
    echo '
';
    echo '
';
    echo '

Server RCON Panel

    echo 'font-size: 12px;\">
';
   
    echo $_SESSION['error']; $_SESSION['error'] = \"\";
   
    echo '';
    echo '';
    if(ONEHOSTONLY == false)
    {
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
    }
    elseif(ONEHOSTONLY == true)
    {
        echo \"Pre-configured mode.\";
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
        echo '';
    }
    echo '';
    echo '';
    echo '';
    echo '';
    echo '';
    echo '';
    echo '';
    echo '
Server IP
Server Port
Server Password
Username
Password
  
';
    echo '
Created by Westie!
';
    echo '';
}
 
/**********************************************************************/
 
function GetMain()
{
    global $stats;
    echo '
';
    echo '
';
    echo '

Server RCON Panel

    echo 'font-size: 12px;\">';
   
    if($_GET['action'] == 'history')
    {
        echo \"History\";
        echo \"
\";
        foreach($_SESSION['tmp_data']['history'] as $history)
        {
            echo $history.'
';
        }
        echo \"
\";
    }
    elseif($_GET['action'] == 'details')
    {
        echo \"Details
\";
        echo \"Server IP:       \".$_SESSION['tmp_data']['serverip'].\"\r\n\";
        echo \"Server Port:     \".$_SESSION['tmp_data']['servport'].\"\r\n\";
        echo \"Connected time:  \".date(\"F j, Y, H:i\", $_SESSION['tmp_data']['connect']).\"\r\n\";
        echo \"\r\n\";
        echo \"Your IP address: \".$_SERVER['REMOTE_ADDR'].\"\r\n\";
        echo \"
\";
    }
    elseif($_GET['action'] == 'logout')
    {
        unset($_SESSION['tmp_data']);
        echo \"You have been logged out. Please click here to log back in again.\";
    }
    elseif($_GET['action'] == 'stats')
    {
        if(!$stats->IsServerActive($_SESSION['tmp_data']['serverip'], $_SESSION['tmp_data']['servport']))
        {
            echo \"Sorry, the server is not online - so you can't use this.\";
            echo \"
\";
            exit;
        }
        echo $stats->GetServerStats($_SESSION['tmp_data']['serverip'], $_SESSION['tmp_data']['servport']);
    }
    elseif($_GET['action'] == 'console')
    {
        if(!$stats->IsServerActive($_SESSION['tmp_data']['serverip'], $_SESSION['tmp_data']['servport']))
        {
            echo \"Sorry, the server is not online - so you can't use this.\";
            echo \"
\";
            exit;
        }
       
        if($_POST['shell_submit'])
        {
            $ip = $_SESSION['tmp_data']['serverip'];
            $port = $_SESSION['tmp_data']['servport'];
            $result = RawRCON($ip, $port, $_SESSION['tmp_data']['servpass'], $_POST['shell_textfield']);
            echo \"
\".$result.\"
\";
        }
        else echo \"
I am waiting for your command.
\";
       
        echo '
';
        echo '';
        echo '';
        echo '
';
    }
    else
    {
        echo \"Welcome to your RCON Panel!\";
        $result = $stats->IsServerActive($_SESSION['tmp_data']['serverip'], $_SESSION['tmp_data']['servport']);
        $what = $result ? \"active\" : \"down\";
        echo \"
Connection: \".$what.\"\";
    }
    echo 'Created by Westie!';
}
 
class SampStatsCore
{
    function IsServerActive($ip, $port)
    {
        $fp = @fsockopen('udp://'.$ip, $port, $errno, $errstr, 0);
        @socket_set_timeout($fp, 1);
        $packet = 'SAMP';
        $packet .= chr(strtok($ip, '.'));
        $packet .= chr(strtok('.'));
        $packet .= chr(strtok('.'));
        $packet .= chr(strtok('.'));
        $packet .= chr($port & 0xFF);
        $packet .= chr($port >> 8 & 0xFF);
       
        @fwrite($fp, $packet.'i');
        if(@fread($fp, 11)) { fclose($fp); return true; }
        else { fclose($fp); return false; }
    }
       
    function GetServerStats($ip, $port)
    {
        if($this->IsServerActive($ip, $port)) { $return = \"I can't connect to the server. Please check the configuration.\"; return $return; }
        $return .= '';
 
        $fp = @fsockopen('udp://'.$ip, $port, $errno, $errstr, 0);
        socket_set_timeout($fp, 1);
       
        if(!$fp)
        {
            $return .= '\n';
        }
        else
        {
            $packet = 'SAMP';
            $packet .= chr(strtok($ip, '.'));
            $packet .= chr(strtok('.'));
            $packet .= chr(strtok('.'));
            $packet .= chr(strtok('.'));
            $packet .= chr($port & 0xFF);
            $packet .= chr($port >> 8 & 0xFF);
 
            fwrite($fp, $packet.'i');
            fread($fp, 11);
            $is_passworded = ord(fread($fp, 1));
            $plr_count     = ord(fread($fp, 2));
            $max_plrs      = ord(fread($fp, 2));
            $strlen        = ord(fread($fp, 4));
            $hostname      = fread($fp, $strlen);
            $strlen        = ord(fread($fp, 4));
            $gamemode      = fread($fp, $strlen);
            $strlen        = ord(fread($fp, 4));
            $mapname       = fread($fp, $strlen);
 
            $return .= '      '.\"\r\n\";
            $return .= '      '.\"\r\n\";
            $return .= '      '.\"\r\n\";
            $return .= '      '.\"\r\n\";
            if($is_passworded) $return .= ''.\"\r\n\";
            else $return .= '      '.\"\r\n\";
 
            fwrite($fp, $packet.'c');
            fread($fp, 11);
            $plr_count = ord(fread($fp, 2));
            if($plr_count > 0)
            {
                $return .= '   
Socket Error: '.$errno.' - '.$errstr.'
'.$hostname.'
Players: '.$plr_count.' / '.$max_plrs.'
GameMode: '.$gamemode.'
MapName: '.$mapname.'
Passworded: Yes
Passworded: No

'.\"\r\n\";
                $return .= '    '.\"\r\n\";
                $return .= '      '.\"\r\n\";
                for($i=0; $i<$plr_count; $i++)
                {
                    $strlen = ord(fread($fp, 1));
                    $plrname = fread($fp, $strlen);
                    $score = $this->GetLong(fread($fp, 4));
                   
                    $return .= '      '.\"\r\n\";
                }
            }
            fclose($fp);
        }
        $return .= \"
PlayerScore
'.$plrname.''.$score.'

\";
        return $return;
    }
   
    function GetLong($dat)
    {
        $num=0;
        if((ord(substr($dat,3,1)) & 128) > 0)
        {
            for($i = 0; $i < strlen($dat); $i++) $num -= ((255 - ord(substr($dat, $i, 1))) << 8 * $i);
            $num--;
        }
        else for($i = 0; $i < strlen($dat); $i++) $num += (ord(substr($dat, $i, 1)) << 8 * $i);
        return $num;
    }
}
?>



gal galite pasakyti kurjy det ir ka daryt kad veiktu?
 
PM
LoseControl
#2 Spausdinti pranešimą
parašyta 2008-09-25 23:02
Apšylantis



Reputacija: 0

Pranešimai: 73
Įstojo: 2008-08-04

i pridetinius puslapius
 
PM
Giedrius
#3 Spausdinti pranešimą
parašyta 2008-09-27 21:08
Naujokas



Reputacija: 0

Pranešimai: 22
Įstojo: 2008-09-24

okur rast?,ir gal gali padaryt kad veiktu?
 
PM
Apocal
#4 Spausdinti pranešimą
parašyta 2008-09-27 21:56
Vartotojo avataras

Apšylantis



Reputacija: 0

Pranešimai: 77
Įstojo: 2007-09-04

i subine susikisk
Padedu kiek moku, kiek galiu :]
www.zir.lt - Vjo jgains
 
PM
Peršokti į forumą: