EsperNet #idlerpg real-time maps and player list

Latest quest map and current world map.

Animated Quests

Video of the last type 2 quest's progress over time (1 frame/minute) and the 10 most recent archived quests. Also see the full index of prior quest videos or a text listing.

List of players

This HTML fragment "players.html" is generated by (explanation).

Download IdleRPG Map Generation Scripts

These perl scripts are simply run once every minute with cron. No webserver integration is needed beyond setting the file paths at the top of the script to output the images in the webserver's directory. They do require the imagemagick 'convert' binary which does the heavy lifting though.

Simple versions: requires imagemagick: and

* * * * *      perl /home/superkuh/app_installs/idlerpg/
*/5 * * * *    perl /home/superkuh/app_installs/idlerpg/

It generates these public output files (in addition to some temp files that get deleted/overwritten),

$worldmapfilepath = '/home/superkuh/www/worldmap.png';  # online players nicks big+color+level, offline black
$playerstxtfilepath = '/home/superkuh/www/players.html'; # list of all players and their attributes
$questmapfilepath = '/home/superkuh/www/questmap.png'; # latest quest or last frame with "OVER"

Quest video generating version of questmap

Requires imagemagick+ffmpeg+fdupes, generates silly video like this site has:, yaketysax.mp3

It is set internally to only generate movies if ($minutes % 15 == 0 || $minutes == 0) every 15 minutes even if called by cron to make static quest maps every minute. When the quest is over it can't tell them apart so fdupes is required to keep only the first unique copy of the archived datetime-quest.mp4 copied every hour to the hardcoded 'my $mp4archivedir = "$gifframesdir/mp4";' as shown below.

Only type 2 quest movies with defined quest positions are made into movies. Type 1 still get just a still frame.

* * * * *      perl /home/superkuh/app_installs/idlerpg/
13 * * * *     fdupes -dN /home/superkuh/www/idlequests/mp4/

The file paths to configure look like this,

my $file_path = "/home/superkuh/app_installs/idlerpg/questinfo.txt";
my $basemapfilepath = '/home/superkuh/www/newmap.png';
my $questmapfilepath = '/home/superkuh/www/questmap.png';
my $gifframesdir = '/home/superkuh/www/idlequests';
my $mp4archivedir = "$gifframesdir/mp4";
my $questmp4filepath = '/home/superkuh/www/tmpquest.mp4';
my $questmp4filepath2 = '/home/superkuh/www/quest.mp4';
my $musicargs = '-i /home/superkuh/www/yaketysax.mp3 -shortest -c:a libmp3lame -map 1:a:0';

It generates these public output files (in addition to some temp files that get deleted/overwritten),

$questmapfilepath = '/home/superkuh/www/questmap.png';
$questmp4filepath2 = '/home/superkuh/www/quest.mp4';
`cp $questmp4filepath2 $mp4archivedir/$datehere2-quest.mp4` ...
$archivequestvideolistfilepath = '/home/superkuh/www/archivequests.html';

This HTML fragment archivequests.html for the recent archived quest playlist is generated by but requires these CSS styles to have the hidden archive quest video playlist to display correctly 1-by-1 instead of all at once,

.playlistvideo {display: none;}
.playlistvideo:target {display: inline-block;}

Made by superkuh. Except for most of the CSS; I stole and modified that from kev quirk's site.

These map scripts and this site exist because I took over the EsperNet #idlerpg bot after 20 years as just a player. I figured as long as I was hosting the bot I might as well make some maps available. I think this automated siliness turned out well. Here's a particularly well comedically-timed quest from June 2024,