Migration and upgrade

Jump to navigation Jump to search

Migration and upgrade

Hi, sorry for the downtime! The wiki crashed again, so I took the last backup I had and have put it onto an upgraded mediawiki on a new host. Hopefully no more stability issues!

There are a few known issues:

  • The backup is only from October last year :( All new users, pages and edits since then are lost, at least for now. Working on this.
  • The RumbleStats extension uses deprecated and removed functions in Mediawiki, and the changes I made to at least have it not crash the wiki don't result in it working. If anybody wants to help I'm happy to give server credentials.
  • No twitter in the tools sidebar
  • Images on the old wiki still broken
  • The URLs now have index.php in them, and my attempts at fixing this so far break everything. I'm probably missing some Apache setup somewhere.

On the other hand:

  • Upgraded mediawiki
  • Emails working again
  • New Robocode-specific captcha, so I've re-opened signups.

Anyway, welcome back, and happy Robocoding!

Skilgannon (talk)13:04, 19 April 2020


  • Images on the old wiki
  • Short URLs again, same as before, so the rumble clients should be happy.

Still missing:

Skilgannon (talk)22:06, 19 April 2020


  • Images (they were broken in the short URL migration)


Skilgannon (talk)11:24, 20 April 2020


  • http redirects to https, except for if you have action=raw in the URL, for roborumble compatibility
  • This fixes if you log in with https, it would redirect you to http and then not allow your login token for security reasons.
Skilgannon (talk)18:32, 20 April 2020

Can we not forcefully redirect? I think it breaks my rss reader and probably others too.

If someone wants to use https, I understand them. But one day the certificate will expire, and stupidly paranoid modern browsers do not even let you see pages behind expired certificates.

Out edits are public anyway, I see no harm someone sniffing them.

Yes, I know that sometimes pages content is modified by evil providers but I think it is less harm than not able to see content of a page at all.

Beaming (talk)21:58, 20 April 2020

It fixed a bug with the login, which redirected back to http for some reason. I'll add an exception for the RSS URL to not do redirect, like I did for the roborumble. Can you think of any other URLs which need exceptions?

Skilgannon (talk)22:03, 20 April 2020

Exception added for anything using api.php

Skilgannon (talk)22:51, 20 April 2020

There is some differnces between new and old wikis.

The old one had some special api enabled. Specificly there were working two special urls

http://robowiki.net/w/ http://robowiki.net/api.php

they allowed to check for incremental changes.

They also gave access to rss reader.

Beaming (talk)22:54, 20 April 2020

Ok, I'm not sure how that was set up exactly. It is better not to have php files in the root namespace, or using directory defaults for file access. But there is now: http://robowiki.net/w/api.php

This should have what you need.

Skilgannon (talk)23:05, 20 April 2020

This seems to work. Let's keep it during migration stage. Once users are back and rediscover new mechanism, we can put it back to wiki pristine way of handling apis.

Beaming (talk)23:09, 20 April 2020

Surely I would like to help with RumbleStats.

Btw we still have the data since Oct. last year on the original host right? Can we merge database so we don’t lose changes from here.

Xor (talk)01:34, 20 April 2020

Hopefully the old data can be recovered. But it might take some time.

Skilgannon (talk)11:20, 20 April 2020

Btw literumble seems to crash, right after I started 8 roborumble instances...

It used to work OK, but now it returns http 500.

Xor (talk)03:45, 20 April 2020

Literumble shouldn't be affected, it doesn't know that the robowiki exists except for the link on the landing page. I'll take a look.

Skilgannon (talk)11:21, 20 April 2020

Hi. Thanks a lot for resurrecting the wiki from ashes. Must be hell of the work.

I have git-wiki backup, last dated by Mon Mar 16 18:17:51 2020 +0000, with the commit message "Raven 1.1.1 -> 1.1.2" by Dsekercioglu. It is not exactly Mediawiki format, but it has pages in the file format: like normal pages, discussion, and attached files.

I will be more than happy to feed it back to wiki.

Speaking of the backups. I have raised this question before but maybe we got strong enough message this time. We need some ways to replicate the mirrors of the wiki. My study of mediawiki a couple years ago showed that it has no built in mechanism for incremental backups. I was able to download a GB xml dump of wiki, but I did not date to do it more than once a year. So full dump is stale.

Is there a way to have a shadow "read only" wiki?

Beaming (talk)16:13, 20 April 2020

I'm not sure how to reintegrate these kind of backups. If there is some process you know, I'd be happy to try. I still have a local mediawiki running on my raspberry-pi that I practiced the transfer on first, so we don't risk messing anything up. But there is also the internal state missing, including things like users. I have more hopes of being able to integrate the more recent backups from the original server, we just need to wait for the old hosting provider to bring the image back.

For future, I've also set up a daily backup to my local NAS of the database, mediawiki/oldwiki install and apache config. This would let me restore from scratch in less than a day. Hopefully it never needs to be used.

Skilgannon (talk)18:39, 20 April 2020

Well on my side, gitted wiki looks like collection of files corresponding to pages in old wiki. For example I have the latest version of RoboRumble Participants in the rumbles. I can either send them to you as patches, or as final verison of pages changed since your backup time.

I can even try to push them into the wiki, but the authorship will not be preserved.

How large is daily backups? I would love to provide some redundancy.

Beaming (talk)21:52, 20 April 2020

So you have the raw wikitext? Let's hold off a little longer - if we get the original that would be ideal of course, but this is good to have as an alternative. Maybe a few key pages should be updated ASAP - rumbles for example. And if we don't get the originals back, then I'm not too concerned about authorship - the wiki already went through a migration once.

Daily backups are ~250MB. I have daily for a week, then weekly for a month, then monthly. So total will be under 10GB for a long time. Extra backups can't hurt :-)

Skilgannon (talk)22:01, 20 April 2020

Yes. I have raw wikitexts. They also come with authorship, but I guess there is no way to stick it back.

Ok. I can manage 10GB. No problem. Though, it is sounds very wasteful for a few kB of text files changed weekly.

Beaming (talk)22:39, 20 April 2020

I don't know if there is an easy way to get diffs - it must be possible for mysql slave mirrors, but the wiki is small so we can be lazy with our backup mechanisms ;-)

Skilgannon (talk)22:55, 20 April 2020

I've been using mysql slaves for years, and it is not only easy to set up, but also a perfect candidate as a readonly mirror of the wiki.

And the slave can be set as master anytime, making the mirror the main wiki when the original one goes down. This ensures zero downtime if set up automatically.

Anyway, this is not a replacement of monthly backup. If a hacker managed to run drop db, the slave will also be destroyed.

Xor (talk)08:22, 25 April 2020

And mysql slave is yes perfectly incremental.

Xor (talk)08:23, 25 April 2020

Hi Xor,

Could you elaborate on mysql slave? I would like to try it, and maybe even host readonly replica.

Beaming (talk)17:39, 25 April 2020

I've set up this several times, maybe I can help setting this up. I'm also willing to help hosting readonly version ;)

Xor (talk)14:45, 27 April 2020

New captcha is awesome! I barely pass the exam :)

Though, could it be disabled for logged in users? I will probably do some automatic restores from backup. It would stop my bots (they will use my password and login).

Beaming (talk)23:38, 20 April 2020

Oh, I didn't realize they were on for everything. I will change it only to the creation of accounts.

However, could you make a separate user for your bot, and we can set it as a Bot user. Then it is easier to filter out in the Recent Changes page.

Skilgannon (talk)17:58, 21 April 2020

I checked, it is only set to give a CAPTCHA when adding a URL, which is critical for fighting spam. However, I have set it to skip CAPTCHA for bots. So you should create a user for your bot, and then we can give it 'Bot' permissions.

Skilgannon (talk)18:15, 21 April 2020

It is probably not big issue, but every regular will see captcha when updates the participants page. This is when I experienced it.

Beaming (talk)19:39, 21 April 2020
  Your edit includes new external links. To protect the wiki against automated edit spam, we kindly ask you to answer the question that appears below

maybe we should whitelist literumble

or rumblestats will cause captcha each time a edit is done

also dropbox, github, google drive etc. should get whitelisted, which helps when editing rumble participants

I also suggest adding wikipedia/mediawiki which is frequent source of quoting.

Xor (talk)09:46, 25 April 2020

I've whitelisted some of these - feel free to add more as/when you think of them: MediaWiki:Captcha-addurl-whitelist.

Skilgannon (talk)10:02, 25 April 2020

I have no permission ;)

btw, I think the \.jar line has no effect, as only host will get matched

Xor (talk)10:07, 25 April 2020

per en.wikipedia.org/wiki/MediaWiki:Captcha-addurl-whitelist

it seems that the lines should not begin with \, rather \b, as word boundaries, for matching domains.

now it shows error message each time captcha is shown ;(

Xor (talk)10:11, 25 April 2020

and I think error/warning messages should be turned off now, as no need to debug anymore

or it will cause precious information to be leaked.

Xor (talk)10:15, 25 April 2020


Skilgannon (talk)10:22, 25 April 2020

The RumbleStats extension should be fixed now ;)

by following guidance on https://www.mediawiki.org/wiki/Manual:Parser_functions

It's broken just because mediawiki changed format of extensions.

Xor (talk)09:59, 25 April 2020

Hi. I think I was able to recover normal pages (except some which are just redirecting pages).

The main problem are discussions. They are using different API for web injecting, and this API is much more elaborative for the quick parser. Quick glance in the missing threads shows that they are not that important for robocoders.

The one which we probably need to recreate or at least summarize, is devoted to RobocodeGL. User:Xor would you mind to repost links to the latest releases, and I will try to add up with my command line knowledge so it runs on linux with missing OpenGL components.

Beaming (talk)22:04, 25 April 2020

I almost forgot this ;)

I thought I had no activity during the non-backed-up period

Anyway the history version doesn't matter. I'll release a new release with bug fixes soon ;)

Xor (talk)14:47, 27 April 2020