Old School Ops
Old School Ops presents

GoMMO

Framework

The MMORPGs we grew up on, back online. Every server here is written from scratch on one Go framework and speaks the original client byte for byte. Download one, run it on your own machine in minutes, and make it yours with GoMMO Studio.

Now showing Gate to Heavens · Liberty Heaven
[Release]RF Online: Dragonborn v0.6.0 is out[Fixed]RF455-160 Magnetic jade no longer pickups items reported by intip[Idea]New idea IDEA-17: Support for Multiple AI Assistant Providers (Beyond Claude) by Noyz[Level]Rikkimaru reached level 10[Badge]Deneb earned Said something[Dev]149 commits to the framework this week[Release]GoMMO Studio v2.1.2 is out[Fixed]RF455-157 RF 4.55 v0.5.1: a base tower's own hit clears the monster's target, a…, now in a release reported by cybercyber[Idea]IDEA-12 Complete client is planned[Level]Ron reached level 10[Badge]Ron earned Explorer II[Dev]Gate to Heavens Classic: 17 commits since v0.3.2[Fixed]RF455-156 地磁靈石自動拾取BUG, now in a release reported by Mr.Chen[Idea]IDEA-10 WebSocket transport beside TCP, same RF session is released[Badge]Ron earned Explorer I[Dev]Gate to Heavens Modern: 17 commits since v0.3.2[Fixed]RF455-153 Processing Rare Ore on "ORE" and "GEM COLLECTOR" NPC give wrong output, now in a release reported by intip[Idea]IDEA-2 Docker deployment for RF Online is released[Badge]Ron earned First Server[Dev]RF Online: Age of Patron: 4 reported bugs fixed in 35 commits since v0.2.1[Fixed]RF455-155 4.55 mounts: a worn mount cannot be taken off, and it is gone after a…, now in a release reported by le[Idea]IDEA-1 # RF 4.55: feature request: load server modules from Lua scripts (`sc… is released[Badge]SUDED earned Found one[Dev]RF Online 1.5: 33 commits since v0.3.3
The worlds

4 families. One engine room.

Each family is one original game, and each version of it is its own server, because the client changed between them.

Eight kingdoms · 1 version

DragonSoul

A fantasy MMO of eight warring kingdoms, with guilds, mounts, pets and a weekly nation war.

The framework

What every world is built from

A fix to the core reaches every game, and a game added later starts with all of it in place. Game logic, opcodes and content stay with each game.

Shared Accounts

Core packagepkg/account · pkg/auth
  • One accounts database shared by every game on a server
  • Email login, argon2id password hashing
  • Staff levels granted per game; a ban blocks the account everywhere
  • Gate to Heavens and RF servers can sign players in with their oldschoolops.com account
"Made once. Used in every world."

SQLite and MySQL

Core packagepkg/database
  • SQLite by default, nothing to install
  • MySQL for production
  • One schema; the SQLite form is derived from it at run time
  • A server creates a missing or empty database on first start
"Unzip, run, and the tables are there."

Protocol Layer

Per familygames/*wire
  • Packet framing, ciphers and codecs, one package per game family
  • Opcodes and struct layouts live with each game
  • Every message matches the original client byte for byte
"Never trust a version number."

Build Isolation

Build ruleverify-split
  • Each game binary holds no code from another game
  • One gameserver process per game, serving all its worlds
  • Windows and Linux x64
"What one world breaks stays in that world."

Lua Scripting

Scriptingpkg/script
  • A sandboxed Lua host with instruction and time budgets
  • A verb set per family: RF dungeons, Gate to Heavens NPC conversations
  • Content is .lua files in the server folder, changed without recompiling
"Write a script, not a patch."

Two-Layer Testing

Testingtest · soak
  • Rule tests, each on its own in-memory server
  • A live-world soak under a crowd of bots
  • Both must pass before any release
"Nothing ships that the bots could break."
Activity

What happened in the world

Releases, forum threads and bug reports in one channel, the way a game's chat window shows everything at once.

World chatFull history

[] [Bug] RF455-138 OSO AI moved it to Released: Jet Ski Mount Rubber Banding / Teleporting Back to Previous Position

[] [Bug] RF455-137 OSO AI moved it to Released: Animus Bug

[] [Bug] RF455-152 OSO AI moved it to Released: Processing rare ore will leave 0-ed item on bag

[] [Bug] RF455-151 OSO AI moved it to Released: Animus Combat / Tower Targeting

[] [Bug] RF455-155 OSO AI moved it to Released: 4.55 mounts: a worn mount cannot be taken off, and it is gone after a relog

[] [Bug] RF455-153 OSO AI moved it to Released: Processing Rare Ore on "ORE" and "GEM COLLECTOR" NPC give wrong output

[] [Bug] RF455-157 OSO AI moved it to Released: RF 4.55 v0.5.1: a base tower's own hit clears the monster's target, and no tower holds the target it is firing at

[] [Bug] RF455-156 OSO AI moved it to Released: 地磁靈石自動拾取BUG

[] [Idea] IDEA-1 OSO AI moved it to Released: # RF 4.55: feature request: load server modules from Lua scripts (`scripts\modules\*.lua`)

[] [Bug] RF455-150 OSO AI replied: Subject: [Bug] Gameserver crashes every 30-46 minutes with "fatal error: invalid runtime symbol table"

[] [Idea] IDEA-2 Ron commented: Docker deployment for RF Online

[] [Idea] IDEA-10 Ron commented: WebSocket transport beside TCP, same RF session

[] [Bug] STU-010 ARPA reported it: GoMMO Studio v2.1.2 - Font becomes corrupted after 3 seconds

[] [Bug] STU-011 Ron moved it to Duplicate: GoMMO Studio v2.1.2 - Font becomes corrupted after 3 seconds

[] [Bug] RF455-159 Ron moved it to Closed: Update to 0.6.0 and the client refuse to connect

[] [Bug] RF455-160 OSO AI moved it to Fixed: Magnetic jade no longer pickups items

[] [Bug] RF455-158 OSO AI moved it to Response Required: Bug Report: Item Combination Errors

[] [Bug] RF455-161 intip reported it: Animus related

[] [Idea] IDEA-17 Noyz suggested it: Support for Multiple AI Assistant Providers (Beyond Claude)

[] [Bug] GTHC-113 Ron moved it to Accepted: Character Appearance Not Saving

[] [Bug] RF215-061 Ron moved it to Accepted: build errors 2.1.5

[] [Bug] OSO-005 Deneb reported it: i cant find the 1 of broke rule. please help i cannot translate to english

[] [Bug] RF455-162 jasmine1006 reported it: Target display and anti cheat password

[] [Bug] OSO-006 jasmine1006 reported it: Report location error, please delete

[] [Bug] RF455-163 jasmine1006 reported it: T8 and T9 gems cannot be used

Sign in to post on the forum and report bugs. Forum
Tools

GoMMO Studio

Open a game client and edit its world. Maps, models, spells and textures for every game on the framework, in one window, with an Install step that writes the client and server files and keeps backups.

  • Map editor with walk grids, spawns, lighting and a problems list
  • Model viewer that dresses characters in real items and plays every animation
  • Texture recolour, packs, and screenshots or turntable GIFs at 1080p
  • Works on Gate to Heavens, RF Online and World of Kung Fu clients
GoMMO Studio editing the Bellato map from RF Online: Golden Age
Self-host

Run your own world

A release bundle has the server, its data and a fresh database. Nothing else to install.

  1. Download a release

    Pick a game and a version from Downloads.

  2. Unzip it anywhere

    SQLite is the default, so the databases build themselves on first start. Switch to MySQL when you need it.

  3. Run the server

    One process serves every world for that game. Point the client at it and log in.

gameserver.exeexample start-up
> gameserver.exe
settings.cfg found in .\
database sqlite (default)
gommo_accounts provisioned
game database provisioned
game data loaded
listening on the game port
ready. waiting for players
Press start

One account. Run it, mod it, share it.

Your Old School Ops account covers everything here: the downloads, the docs, the forum, chat and bug reports, and a notification each time your game ships a new version.

Operate

Download a server bundle for any game, read the setup docs, and report what breaks so the fix lands for everyone.

Mod

Edit maps, models, spawns and textures in GoMMO Studio, then install the changes into your own client and server.

Join

Ask on the forum and Discord, help the next person through the Starter Guide, and follow your game for every release.

Top xp sources

How xp works
Loading…

Open the full search page