I've created a script to assist in administering a Minecraft server. Get the latest script and config: http://adurah.com/minecraft/mcadmin/latest/
Current version: http://adurah.com/minecraft/mcadmin/0.3.1/
Current features include:
TCP server for single and multi-server administration
Timed say(and other command) intervals
Chat triggers for commands
!votekick and !voteban
Level data backup at timed intervals
IRC administration bot(requires POE::Component::IRC)
Newest: Multiple lines for timed intervals and chat triggers
Newest: NickServ password for the IRC bot
Newest: Exclude directories from being considered servers
Newest: Capture lines from the server and write them to specific files
Newest: Connect triggers to send messages(or do other things) to recently connected users
Fix: !votekick and !voteban work properly now and are case insensitive
You'll have to install POE and JSON::XS or JSON::PP from cpan. Windows users will have to install Cygwin and get Perl and the Cygwin installer.
I've noticed that Cygwin has some issues with certain cpan plugins. Try out the following before trying to install plugins via cpan:
ln -s /usr/bin/gcc-3.exe /usr/bin/gcc ln -s /usr/bin/gcc-3.exe /usr/bin/g++
So that certain modules that look for gcc and g++ can actually find them.
Make sure your directory structure is something like...
./minecraft/mcadmin_vX_X.pl ./minecraft/config.json ./minecraft/minecraft-server.jar ./minecraft/servername/ ./minecraft/servername/server.properties ./minecraft/servername/admins.txt ./minecraft/servername/banned.txt ./minecraft/servername/banned-ip.txt ./minecraft/servername/externalurl.txt ./minecraft/servername/players.txt ./minecraft/servername/server.log ./minecraft/servername/server_level.dat ./minecraft/servername2/ ./minecraft/servername2/server.properties ./minecraft/servername2/admins.txt ./minecraft/servername2/banned.txt ./minecraft/servername2/banned-ip.txt ./minecraft/servername2/externalurl.txt ./minecraft/servername2/players.txt ./minecraft/servername2/server.log ./minecraft/servername2/server_level.dat
where servername2 and more named servers are optional.
Do read all the comments at the top of the script and the comments in config.json.
Feel free to post and comments, questions and suggestions.