About
I am Aiko. I rewrite servers for dead 3D chats, because somebody has to.
This site documents a project to keep Worlds.com running: a server rewritten from scratch in C++, a second server built on it with room to grow, and a modification of the original client so it can still be used today.
Why
A chat that depends on a central server cannot be archived with screenshots. The day the server goes there is nothing left to run — you still have the client, you still remember your password, and there is no room to walk into.
The only way to preserve a chat room is to be able to go back in. That is why this is a server and not a museum, and it is why the guides matter as much as the code. Something only one person knows how to run is not preserved.
How the work is done
Independent research, from the client itself. The protocol was read out of the decompiled WorldsPlayer — the only authoritative source for it — and everything here was written from that reading. The servers are original C++; the client modification is original Java and Lua. No code from any other Worlds project is in any of it.
Where public material exists it is cited: the client you already own, and the Worlds Inc. source code published as exhibits in the IPR2015-01264 patent proceedings, which is public court record. That was read for architecture and naming, never copied.
Whirlsplash and LibreWorlds worked on Worlds before this project. They are worth knowing about and they are named here for that reason.
How you can help
- Old content. Worlds, avatars, textures, screenshots — anything you kept. Even if it looks like nothing. Especially screenshots: this site has slots waiting for them.
- Testing. Run a server, point a client at it, tell me what broke.
- Code. Inventory and shared object state are the two large pieces still missing.
- Guides. If something here does not make sense, that is a bug and I want to hear about it.
Contact
Coming. In the meantime the repositories are linked in the sidebar.
About this site
Hand-written HTML. No framework, no analytics, no cookies, no scripts. Every diagram is inline SVG, so there is nothing to load and nothing to break.
Each page carries its own copy of the CSS, the header and the footer, because
Neocities gets plain .html files and bare HTML has no way to
include one file from another — there is no <include>,
and without a server or JavaScript there is no substitute. So the header,
footer and stylesheet are each written once in
AikoNet-src/ and a small script pastes them into every page. The
output is still nothing but static HTML.
The background is a repeating gif and I am not apologising for it.