IdleRPG accessory scripts for map generation without PHP

on blog at

IdleRPG is a game for internet relay chat where people join a channel and depending on how long they "idle" there without talking their "character" gets experience and levels. I've played the EsperNet idlerpg for 20+ years but this spring an esper staff member went missing and the network almost died. The chaos caused the idlerpg bot owner to stop running it but they did offer the database and config so others could run it. I now have it going on a VPS, hopefully for another decade or two.

IdleRPG has a feature where the player characters have specific locations on a 500x500 map. These maps are normally generated with .php scripts invoked by people visiting the .php web page. I re-wrote the quest map and world map generation scripts in perl and now run them once per minute and once per 15 minutes respectively via cron. There is no webserver tie in. All that is required is the perl, imagemagick's "convert", and the basemap.png. These two scripts are very simple but it did take me a bit to work out how to parse the irpg.db and translate the php'isms from the examples.

The maps below are the actual maps updating in real time.

Download [running requires imagemagick and setting file paths at top]: questmap.pl and worldmap2.pl (or the simpler and 20x slower worldmap.pl) and basemap png

crontab -e entries on the idlerpg server for once per minute and once per 5 minutes,

* * * * *      perl /home/superkuh/app_installs/idlerpg/questmap.pl
*/5 * * * *    perl /home/superkuh/app_installs/idlerpg/worldmap2.pl

*edit/update*: I also wrote a better questmap.pl that auto-generates a movie of quest progress too: [requires ffmpeg and imagemagick] questmap-ani.pl. It uses ffmpeg and adds a new directory achiving all quests as .mp4 files in addition to generating questmap.png like the original. Because I'm lazy the script doesn't actually know when a quest ends so it generates duplicates every hour. They're only ~300kB each but to keep things under control I run fdupes once an hour via cron which keeps only the first of any set of dupes.

* * * * *      perl /home/superkuh/app_installs/idlerpg/questmap-ani.pl
13 * * * *     fdupes -dN /home/superkuh/www/idlequests/mp4/

I'm working on making a more in-depth idlerpg status board at: http://idle.superkuh.com/.

[comment on this post] Append "/@say/your message here" to the URL in the location bar and hit enter.

[webmention/pingback] Did you respond to this post? What's the URL?


KYC laws for DMCA claimants

on blog at

There's a been a lot of talk about this article on predatory abuse of DMCA claims for censorship. To remove something from google's search they copy the text, they create a fake website / company with a URL with copied text then submit a DMCA claim saying theirs is the original. Google automatically rubberstamp approves it and the URL/text they want removed from the search index is removed.

There's a simple and easy solution: there should be "know your customer" for claimaints for laws requiring companies to follow up on legal claims like DMCA reports. KYC is obviously socially accepted and easily implemented since it's being required for so many other things. The whole basis of an adversarial legal system is that you need two legal persons on either side. This is a context in which you have to wonder why it isn't already like that.

Once false reports from fake companies and people are infeasible there will be much less of a problem.

[comment on this post] Append "/@say/your message here" to the URL in the location bar and hit enter.

[webmention/pingback] Did you respond to this post? What's the URL?