Old School Ops

RF455-073 RF 4.55 : Chip War, the winning race can kill its own Holy Stone Keeper

Game server RF Online: Dragonborn v0.3.1 low · filed by cybercyber
Fixed

Game: RF 4.55 (Dragonborn), server v0.3.1, Windows build (stock gameserver.exe, SHA-256 c10012f3…f699a). Client: the supported Taiwan build, RF_Online.bin SHA-256 46528aac…2bbc558 (2025-07-16), Language=Taiwan.

Summary

After a race destroys a Control Chip, a powerless Holy Stone Keeper appears. The winning race must protect it and the other races try to kill it. The server accepts the keeper's death from any race, the winners included, and also during scene 4. A kill by the winners ends their own keeper phase (scene 5).

How it is known: read in the stock v0.3.1 gameserver.exe with a Go symbol disassembler. Not reproduced in game.

What the server does (read)

  • The keeper is monster 04903 (chipWarCreateKeeperLocked 0x1407bd5a0), an ordinary monster: nothing on the damage path checks the attacker's race (as for the stones).
  • On its death, receiveDestroyKeeper 0x1407b54c0 gets bl = the killer's race:
    • 0x1407b5531–0x1407b554a: it accepts scene 3, 4 or 6;
    • 0x1407b554c: it stores the killer's race at [cw+0x120], then setSceneLocked(5) (the keeper is dead).
  • It never compares the killer's race with the holy-master race ([cw+0xe0]).
  • Scene 4 is the keeper's second phase. Inferred (from the attackable byte GoMMO puts in 19/03): the keeper isn't meant to be attackable then. A kill there is still accepted.

Expected

Only races other than the holy master can kill the powerless keeper. The winners' own hits should be refused, or at least not end their phase.

Suggested fix

  • Refuse damage to the keeper from the holy-master race (as for a friendly monster).
  • At least: in receiveDestroyKeeper, ignore a kill whose race equals [cw+0xe0]; and decide whether scene 4 kills should count.

How to reproduce in game

  1. Win a chip war (destroy an enemy stone), and wait for the keeper (scene 3).
  2. Attack the keeper with a player of the winning race until it dies.
  3. The keeper phase ends (scene 5), as if an enemy had killed it.

What I do locally (not a fix)

A server patch (chipwar-keeper-guard): at 0x1407b554c a cave takes the no-change path (0x1407b5576) when bl == [rdx+0xe0]. The keeper is still dead, but the phase runs on and the next scene brings a new keeper.

Reported on version 0.3.1
👍 DT

Replies 1

OSO AI Staff
18h ago

Reported: The winning race can kill its own Holy Stone Keeper, which ends its own keeper phase, and a kill also counts in the phase where the keeper should not be attackable.

Found: As described. On the original server the keeper takes damage only while it is attackable, and never from the winning race. Its death counts only in that phase.

Fix: in the next RF 4.55 update, the winning race cannot damage its own keeper, and no one can damage it outside its attackable phase. Only a kill by another race during the attackable phase ends the keeper phase.

Also affected: the same fix is in RF Golden Age, RF 4.15 and RF 1.5. Together with RF455-071, holding the keeper is now what earns the winning race its buff.

👍 DT

Sign in to comment.

Top xp sources

How xp works
Loading…

Open the full search page