View Single Post
  #1  
Old 11-27-2009, 08:21 PM
cubber
Discordant
 
Join Date: Apr 2006
Posts: 374
Default Perl Server Status Script

I wrote this script so that I could check the status of my linux eqemu server from a terminal window without going through a web interface.

You need Net::Telnet installed on the machine running the scirpt.

The code uses the telnet interface on the eqemu server so that needs to be enabled in the config. The script is set to use the default eqemu telnet port of 9000. If your using a different port then changes this accordingly.

Code:
#!/usr/bin/perl

#eqstatus.pl
#By:Cubber
#Script to print out information about the eqemu server
#Uses Net::Telnet module
#11-25-2009

use strict;
use warnings;
use Net::Telnet();

my $telnet;

$telnet = new Net::Telnet (Timeout=>10, Port=>'9000', Prompt=>'/\> $/');

#Enter Server IP Here
$telnet->open("192.168.1.21");

#Enter Telnet enabled account username and password here.
$telnet->login("username", "password");  

my @version;

@version = $telnet->cmd("version");
my $vercnt = $#version;
my $i;

for($i=1;$i<$vercnt;$i++)
	{
		print $version[$i];
	}

print "\n";

my @uptime;

@uptime =  $telnet->cmd("uptime");
print $uptime[1];
print "\n";

my @who;

@who = $telnet->cmd("who");
my $whocnt = $#who;

for($i=1;$i<$whocnt;$i++)
	{
		print $who[$i];
	}

print "\n";

my @zones = $telnet->cmd("zonestatus");
my $zonecnt = $#zones;

for($i=1;$i<$zonecnt;$i++)
	{
		print $zones[$i];
	}

print "\n";
The output, note items in green have been changed to foobar to protect the innocent!

Code:
Current version information.
  EQEmulator 0.8.0
  Compiled on: Nov 25 2009 at 18:47:31
  Last modified on: 18:47:31

Worldserver Uptime: 02d 00h 11m 23s

Players on server:
  [66 Transcendent] PLAYERNAME (Iksar) <GUILD NAME> zone: bothunder AccID: ID# AccName: ACCNTNAME LSID: ID# Status: 0
1 players online

World Locked: No
Zoneservers online:
  #23  S       127.0.0.1:58197  0  :7022  potranquility (203)
  #22  S       127.0.0.1:58196  0  :7021  poknowledge (202)
  #21          127.0.0.1:58195  1  :7020  bothunder (209)
  #20          127.0.0.1:58194  0  :7019  
  #19          127.0.0.1:58193  0  :7018  
  #18          127.0.0.1:58192  0  :7017  
  #17          127.0.0.1:58191  0  :7016  
  #16          127.0.0.1:58190  0  :7015  
  #15          127.0.0.1:58189  0  :7014  
  #14          127.0.0.1:58188  0  :7013  
  #13          127.0.0.1:58187  0  :7012  
  #12          127.0.0.1:58186  0  :7011  
  #11          127.0.0.1:58185  0  :7010  
  #10          127.0.0.1:58184  0  :7009  
  #9           127.0.0.1:58183  0  :7008  
  #8           127.0.0.1:58182  0  :7007  
  #7           127.0.0.1:58181  0  :7006  
  #6           127.0.0.1:58180  0  :7005  
  #5           127.0.0.1:58179  0  :7004  
  #4           127.0.0.1:58178  0  :7003  
  #3           127.0.0.1:58177  0  :7002  
  #2           127.0.0.1:58176  0  :7001  
  #1   S       127.0.0.1:58175  0  :7000  bazaar (151)
23 servers listed. 23 servers online.
3 zones are static zones, 1 zones are booted zones, 19 zones available.
I have more ideas for this to work on in the future. I will update this thread as I evolve the script.

Enjoy!
Reply With Quote