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!