On the first start of server with this plugin the plugin creates folder ServerStatus and the configuration file. Then you have set data in config and restart the server.
In configuration file config.yml you can set useSecurityKey (true or false), your security key and full path (adress) to the .PHP file.
Security key can be any expession you want, you will need to set it only in this config.yml file and then in .PHP file. Key will be sent by plugin in GET header, and the .PHP file will check if it is equal.
Then you can set connection timeout. It means how long time give you to plugin to connect to .PHP file. (in milliseconds)
(set -1 for default timeout)
And there is a ignore list. Players in ignore list will be ignored from counting and listing players (plugin won't send them to .PHP file).
Finally you can set refresh-rate to some number of seconds. It means that the plugin will send newest information every x seconds. (set -1 for disabling periodic call)
In this .PHP file is only easy script to read data from GET headers and to write it into .TXT file. You have to set the security key and if you are good .PHP programmer, you would be able to rewrite the code to whatever you want (e.g. write data to .HTML files, to MySQL database,...).
You can choose, if you want to have banner.png or some TXT file with server status.
Banner will look like this:
List of GET headers
sec - The security key
status - Status of the server, can be Online or Offline
name - Name of the server, loaded from server-properties file
motd - Server's message of the day from server-properties file
ip - IP adress of the server, loaded from server-properties file
port - Port of server behind the IP adress, loaded from server-properties file
plsnum - Number of online players
maxnum - Maximum number of players, loaded from server-properties file
players - List of online players
log - Reason why was the URL called (It can be "Starting up Minecraft server", "Stopping Minecraft server", "Player (name) has joined the game", "Player (name) has left the game")
plversion - Contains version number of this plugin
bkversion - Contains version number of used Bukkit version
Don't forget to set correct information (server-ip, server-port, server-name, max-players) in server's file server.properties!
Commands & Permissions
serverstatus.reload - Allows you to use /serverstatus command, which reloads the config
serverstatus.ignore - Player with this permission will be ignored from counting and listing players
Added option to set refresh-rate to -1 for disabling periodic call or set it to any time in seconds
Added option to set connection-timeout to -1 for default timeout or set it to any time in milliseconds
(and no kidding, now is the java.lang.NullPointerException error really fixed! :))