Worlds.com was a 3D chat that started in 1995 and stayed up for nearly thirty years. You picked an avatar, walked around rooms made of polygons, and talked to whoever was standing there. Then the servers went quiet and everything went with them — the rooms, the avatars, the whole chat.

This is the work of not letting that be the end of it. The server is being rewritten from scratch in C++, and the original client is being patched so it can still be used today. It is not a remake or a lookalike: it is the same protocol, and it talks to the same WorldsPlayer people always used.

A house at dusk inside a Worlds world, under a starry sky
This is what it looked like. Somebody built this house, put it on a web server, and other people walked up to the door. That is the whole idea, and it is the part that stopped working.
WorldsClient one viewer no configuration server announced itself → extended server said nothing → legacy, behave as the original AikoWorlds announces caps=… extensions available WorldServer announces nothing the original protocol The server speaks first. The client only answers what it heard. A server that never announced anything therefore never receives anything unusual.
How the client tells them apart. Nothing is configured and nothing is guessed: the order of the conversation is what makes an extended client safe to point at any server.

Three programs

ProgramWhat it is
WorldServer The preserved server. The original protocol and nothing else. It is the reference, and it stays that way.
AikoWorlds The modern server, built on the same code. SQLite, a capability announcement, room to grow.
WorldsClient A modification of the Worlds client: chat encryption, a server selector, mods in Lua, and one security hole fewer.

Start with a guide

Preserving something means other people can use it afterwards. Everything on this site is written to be followed, not admired.

If you want toRead
Get into a world at allUsing the client
Use the modified clientThe modified client
Run your own serverRunning a server
Write code that runs in the clientWriting a mod in Lua
Build a worldThe Shaper
Make an avatarRWX avatars
Understand how any of it worksThe protocol · Inside the client

All guides →

Before you connect anywhere

Worlds was built in 1995 and it shows in the places that matter. Passwords travel in clear text, and an unmodified client will run code any server hands it. Neither of those is a rumour — both are in the protocol.

Read this before you install anything →

Where to go next

  • History — what Worlds.com was, and how it ended.
  • How it fits together — the four services Worlds was made of, and why this project has two servers.
  • The blog — what is being worked on.