Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Tools

Development::Tools 3rd Party Tools for EQEMu (DB management tools, front ends, etc...)

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #7  
Old 08-29-2008, 06:58 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

Yea, LOTS....

This is a php class that you must call and then call each function you want performed, also you need to input your username/password.

Replace

$this->connection = fsockopen($cfg['telnet']['address'], $cfg['telnet']['port']);

with

$this->connection = fsockopen('your server ip address', 9000);

9000 is the default port, change it to match what your server's is.

Also change

fputs($this->connection, sprintf("%s\r", unserialize($_SESSION['EQ_EDT_USR'])));

and

fputs($this->connection, sprintf("%s\r", unserialize($_SESSION['EQ_EDT_PWD'])));

and replace the
unserialize($_SESSION'EQ_EDT_USR']) and unserialize($_SESSION['EQ_EDT_PWD'])


with your EQ EMU Username and Password.. This checks the account table in the database. Make sure your username and password is like this:


fputs($this->connection, sprintf("%s\r", 'username'));
fputs($this->connection, sprintf("%s\r", 'password'));


After that you need to call the class and then the functions below the script.

Example:

PHP Code:
<?php
class telnet {

    
// Variables
    
var $message = array();
    var 
$connection;

    
// Connects to the World Telnet Server
    
function connect(){
        global 
$cfg;
        
        
// Open Socket Connection
        
$this->connection fsockopen('127.0.0.1'9000);

        if(!
$this->connection){
            
$this->message[] = "Error connecting to World Telnet Server";
            return 
false;
        }else{
            
fputs($this->connectionsprintf("%s\r"'username'));
            
usleep(125000);   
              
fputs($this->connectionsprintf("%s\r"'password'));
            
usleep(125000);
            return 
true;
        }
    }
    
    
    
// Close the Telnet Connection
    
function close(){
        
fclose($this->connection);
    }
    
    
    
// Server Uptime
    
function uptime(){
        
fputs ($this->connection"uptime\r"); 
        
usleep(125000);
            
        while (!
feof($this->connection)){
            
$ret fgets($this->connection);
            if (
ereg("Uptime"$ret)) {
                
$ret str_replace("$user"""$ret);
                return 
str_replace(">"""$ret);
                break;
            }
        }
    }
    
    
    
// Zone Status
    
function zonestatus($zone=''){
        
fputs ($this->connectionsprintf("zonestatus %s\r"$zone)); 
        
usleep(125000);
        
        while(!
feof($this->connection)){
            
$ret fgets($this->connection);
            
            if (
ereg("$Server:"$ret)){
                echo 
"$ret \n <br>";
            }
            
            if(
ereg("avail"$ret)){
                echo 
"$ret \n <br>";
                break;
            }                
        }
    }
    
    
// Kick Character from World Server
    
function kick($character$message='YOU ARE BEING KICKED FROM THE SERVER IN 4 SECONDS'){
        
fputs($this->connectionsprintf("tell %s %s\r"$character$message));
        
sleep(4); 
        
fputs($this->connectionsprintf("kick %s\r"$character));
        
$this->message[] = "Character has been kicked from server";
        
sleep(1);
    }
    
    
    
// Send Character a Tell
    
function tell($character$message){
        
fputs($this->connectionsprintf("tell %s %s\r"$character$message));
        
sleep(1);
        
$this->message[] = sprintf("Message Sent to Character: %s"$character);
    }
    
    
    
// Send Server a OOC Message
    
function ooc($message){
        
fputs($this->connectionsprintf("ooc %s\r"$message));
        
sleep(1);
        
$this->message[] = "Message sent to OOC";
    }
    
    
    
// Broadcast Message Server Wide
    
function broadcast($message){
        
fputs($this->connectionsprintf("broadcast %s\r"$message));
        
sleep(1);
        
$this->message[] = "Broadcast Message Sent to World Server";
    }
    
    
    
// Who/Who All
    
function whoall($who=''){
    
        
fputs ($this->connectionsprintf("who%s\r"$who)); 
        
usleep(125000);

        while (!
feof($this->connection)) {
            
$ret_tmp fgets($this->connection);

            if(
ereg("zone"$ret_tmp)){ 
                
$ret[++$x] = $ret_tmp;
            }
            
            if(
ereg("online"$ret_tmp)){
                break;
            }
        }

        
// Process each line of the returned results
        
foreach ($ret as $key => $value) {
        
            
// Original Return
            
$players[$key]['original'] = $value;

            
// GM Status
            
if (preg_match("/\*.*\*/"$value$matches)) {
                
$players[$key]['GM'] = trim($matches[0], "* ");
            }
        
            
// Role/Anon, Level & Class
            
if (preg_match("/\[.*\]/"$value$matches)) {
                
$tmp explode(" "trim($matches[0], "[] "));
                if (!
is_numeric($tmp[0])) {
                    
$players[$key]['Visible'] = $tmp[0];
                    
$players[$key]['Level'] = $tmp[1];
                    
$players[$key]['Class'] = rtrim($tmp[2] . " " $tmp[3], " ");
                } else {
                    
$players[$key]['Level'] = $tmp[0];
                    
$players[$key]['Class'] = rtrim($tmp[1] . " " $tmp[2], " ");
                }
            }
        
            
// Character's Name
            
if(preg_match("/\].*\(/"$value$matches)){
                
$players[$key]['Name'] = trim($matches[0], "] (");
            }
        
            
// Race
            
if(preg_match("/\(.*\)/"$value$matches)){
                
$players[$key]['Race'] = trim($matches[0], "( )");
            }
        
            
// Zone
            
if(preg_match("/zone:.*AccID:/"$value$matches)){
                
$players[$key]['ZoneLong'] = substr($matches[0], 6, -7);
            }
        
            
// Account ID
            
if(preg_match("/AccID:.*AccName:/"$value$matches)){
                
$players[$key]['AcctID'] = substr($matches[0], 7, -9);
            }
        
            
// Account Name
            
if(preg_match("/AccName:.*LSID:/"$value$matches)){
                
$players[$key]['AcctName'] = substr($matches[0], 9, -6);
            }
        
            
// Login Server ID
            
if(preg_match("/LSID:.*Status:/"$value$matches)){
                
$players[$key]['LSID'] = substr($matches[0], 6, -8);
            }
        
            
// Status
            
if(preg_match("/Status:.*/"$value$matches)){
                
$players[$key]['Status'] = substr($matches[0], 83);
            }
        }
        
        
// Return Player Array
        
return $players;
    }

}  


$telnet = new telnet;
$telnet->connect();
$telnet->broadcast('This is a test message from your GM Please sign out NOW!');
$telnet->close();
?>
or you can call more than 1 function before the session is closed.
PHP Code:
$telnet = new telnet;
$telnet->connect();
$telnet->broadcast('This is a test message from your GM Please sign out NOW!');
$telnet->kick('icantplayeq''I DONT LIKE YOU SO IM KICKING YOU');
$telnet->close(); 
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 10:57 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3