While implementing an IMC2 client I've found some errors in the protocol specs in the articles section on this site. By "errors" I mean things that deviate from the Liberty server's behaviour.
remote-admin packet According to the specs the hash is supposed to be generated the same way as for an authentication packet. This is incorrect. For auth packets you use a server provided key + server password (the one you select yourself). If you do this for remote-admin the server will reply "Invalid password". The correct way to generate this hash is to use your last packet serial + server admin password (as decided by the server's operator, not you). I had to look at the server source code to figure this out.