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. Run your own world, mod it with GoMMO Studio, or play on ours once our servers are back up.

Now showing Gate to Heavens · Liberty Heaven
[Release]DragonSoul v0.1.1 is out[Fixed]RF455-089 RF 4.55 : race leader skills show no visual (the server never sends s… reported by cybercyber[Idea]New idea IDEA-8: Middleman NPC by XanoX[Forum]New thread: Ideas (Feature Requests),. UX Updates by Ron[Level]cybercyber reached level 10[Badge]Orion13 earned Shipped[Dev]460 commits to the framework this week[Release]GoMMO Studio v1.2.0 is out[Fixed]RF455-088 RF 4.55: Client<-> Server reported by BlaBlaName[Idea]New idea IDEA-7: No client download option available. by DT[Level]OSO AI reached level 10[Badge]umild10 earned First on the scene[Dev]Gate to Heavens Classic: 3 commits since v0.3.1[Release]GoMMO Client Patcher v1.0.0 is out[Fixed]RF455-086 RF 4.55: the NPC buff vendors are in the data and the server can sell… reported by cybercyber[Idea]New idea IDEA-6: Expand Headless Client Support for Race Leadership, Guilds, and Game … by NeedCoffee[Badge]jonahmal earned Said something[Dev]Gate to Heavens Modern: 1 reported bug fixed in 117 commits since v0.3.1[Release]GoMMO Studio v1.1.0 is out[Fixed]RF455-087 RF 4.55: Grade and Subgrade player accounts reported by BlaBlaName[Idea]New idea IDEA-5: Translator feature by accretianz[Badge]kongzboy earned Said something[Dev]RF Online: Dragonborn: 12 reported bugs fixed in 4 commits since v0.2.0[Release]RF Online: Dragonborn v0.3.1 is out
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-091 cybercyber reported it: RF 4.55: right-clicking a buff to remove it does nothing (the client's 03/3F request has no handler)

[] [Bug] RF455-092 cybercyber reported it: RF 4.55: follow-up to [RF455-030Released](/bugs/RF455-030) - the 12 rebuilt class skills still have their old placeholder rows in classskill_str

[] [Bug] DS-001 OSO AI moved it to Released: The quest [Story] Dinnertime is bugged, it blocks the rest of the story

[] [Bug] DS-002 OSO AI moved it to Released: The Cash Shop is empty

[] [Bug] DS-003 OSO AI moved it to Released: Mounts don't work.

[] [Bug] RF455-093 cybercyber reported it: RF 4.55: most instant skill, force and class-skill effects do nothing (Healing, Focus, Revival, Rebirth, Return Gate, Taunt…)

[] [Bug] RF455-094 cybercyber reported it: RF 4.55: timed effects whose data value is 0 do nothing (Immobility, Transparency, Absolute Armor, Spin A Web, Blind Soul…)

[] [Bug] RF455-095 cybercyber reported it: RF 4.55 v0.3.1: follow-up to RF455-052, these buff and debuff slots are still never read

[] [Bug] RF455-096 cybercyber reported it: RF 4.55: Booster's cooldown is 180 s on the server but 15 s in the client, so recasts are refused

[] [Bug] RF455-097 cybercyber reported it: RF 4.55: class attack skills (Bash Explosion, Force Impact, Fatal Step…) deal the wrong damage: the server looks their index up in the general `skill` table

[] [Bug] RF455-098 cybercyber reported it: RF 4.55: monster special attacks deal no damage, and specials with a cast condition never fire

[] [Bug] RF455-082 OSO AI moved it to Fixed: RF 4.55 v0.3.1: race council members can't equip council armour (the server never sends the seat state bits)

[] [Bug] RF455-081 OSO AI moved it to Fixed: RF 4.55: daily (repeatable) quests can be done only once per character, never again after 24 h

[] [Bug] RF455-083 OSO AI moved it to Fixed: RF 4.55 v0.3.1: race leader "wave" skills buff only the caster (the link effect never reaches allies)

[] [Bug] RF455-084 OSO AI moved it to Fixed: RF 4.55: three premium pass perks are missing: login rentals, hourly time tickets, and the coupon rewards at the Hero

[] [Bug] RF455-085 OSO AI moved it to Fixed: RF 4.55: the magnet stone (Magnetic Jade, 地磁靈石) does nothing: no auto-loot, its effect code 103 is never read

[] [Bug] RF455-087 OSO AI moved it to Fixed: RF 4.55: Grade and Subgrade player accounts

[] [Bug] RF455-086 OSO AI moved it to Fixed: RF 4.55: the NPC buff vendors are in the data and the server can sell their buffs, but none is placed in the world

[] [Bug] RF455-088 OSO AI moved it to Fixed: RF 4.55: Client<-> Server

[] [Bug] RF455-089 OSO AI moved it to Fixed: RF 4.55 : race leader skills show no visual (the server never sends state-flag bit 43)

[] [Bug] RF455-080 OSO AI replied: ASPD Decreased

[] [Bug] DS-004 Orion13 reported it: The server doesn’t clean up the tables when a character is deleted.

[] [Bug] DS-005 Orion13 reported it: The Cash Shop doesn't see the Gold Coins in the DB, we can't buy items.

[] [Bug] DS-006 Orion13 reported it: It says (5.0Break) in the name of every item in the Cash Shop.

[] [Bug] DS-007 Orion13 reported it: You can't send an item to another player by mail.

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, play it.

Your Old School Ops account covers everything here: the downloads, the docs, the forum and bug reports today, and logging in to our game servers once they are back up.

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.

Play

Log in to our public servers with the same account when they return, and follow every release on the forum until then.

Top xp sources

How xp works
Loading…

Open the full search page