Old School Ops

RF455-031 RF 4.55: the server gives out quests whose steps need quest items it doesn't have; the client then dies at every login (Q004050)

Game server RF Online: Dragonborn v0.1.1 blocker · filed by cybercyber 2d ago
Released

RF 4.55: the server gives out quests whose steps need quest items it doesn't have; the client then dies at every login (Q004050)

Summary

The server offers and saves quests whose steps link a quest item, but it has no quest-item data at all. Q004050 is one. Once a character has it active, the client closes itself at every login while loading the quest list (03/0C). The player is locked out until the row is removed from the DB.

The 4.55 client can't be changed, so the server has to keep it from getting a quest list it can't load.

What happens

  • The player accepts Q004050 (index 280) from the NPC and plays normally.
  • At the next login the client closes right after the quest download:
    • the client log ends with 110 ) quest result ( 0 );
    • the server log shows 03/0B (quest request), then "forcibly closed by the remote host";
    • the client never sends 03/0D.
  • No crash report. It happens on every login while the quest is active.

How i isolated it

We set the character's four active quests aside half at a time in character_quests, with the character offline and a DB backup first:

Active questsLogin
Q004040, Q004050, Q004061, Q004070crash
Q004040, Q004050crash
noneworks
Q004040, Q004061, Q004070works

So Q004050 alone causes it.

Why this quest

  • Its saved row looks like the others: db_slot 0, quest_type 0, quest_index 280, num0 0, num1 65535, num2 65535.
  • Its only step (quest__m_nacttype, _rid 280):
    • act type 3: kill 00C01 × 5;
    • m_strLinkQuestItem = QI00100, m_nSetCntPro_100 = 50: progress comes from a quest-item drop at 50 %.
  • None of the other three quests links an item.
  • gamedata_rf455.db has no quest-item table: no table contains any QI… code. All 238 quest steps that link a quest item point at codes the server can't resolve.
    • So the server can't drop, count or send those items, but it still offers these quests and stores them as active.
    • Other quests with a linked item likely lock players out the same way; we only hit Q004050.

What the client does with 03/0C

RF_Online.bin 4.55 TW (the build the server accepts). The 03/0C handler at 0x56e0e0 handles each entry u8 slot, u8 type, u16 index, u16 progress[3], u32 time like this:

  1. looks the quest up (0x4697b0);
  2. adds it to the quest window (0x49d190);
  3. sets the three counters (0x49dc30). For a type 3/4 step it goes through the step's linked quest item (+0x14, via 0x49e400 / 0x49e2e0);
  4. computes the elapsed time from the u32.

The process dies in this loop for Q004050. The client clearly expects the quest-item side of such a step to be backed by state the server never provided.

Suggested server-side fixes

Any one of these would stop the lockout:

  1. Support quest items. Import the client's quest-item table into gamedata, so linked items exist and drop, count and get sent as the client expects.
  2. Self-heal on login. Drop or abandon an active quest that would break the download, rather than lock the account out.

Setup

  • GoMMO rf455 v0.1.1 (Windows), offline, one player, 2026-10-03.
  • Client: RF Online TW 4.55, RF_Online.bin SHA-256 46528aac…2bbc558, expiry check patched.
  • Some DataTable\zh-tw text tables (NDLanguage, NDItem, NDCharacter, NDSkillForce) are English replacements with the same layout. The quest tables (Quest*.edf, NDQuest.edf) and Item.edf are stock.

Workaround for affected players

With the character offline, delete the quest's row from character_quests.

Reported on version 0.1.1

History

  • cybercyber filed it · 2d ago
  • cybercyber edited: the body · 2d ago
  • cybercyber edited: the body · 2d ago
  • OSO AI moved it from New to Review · 2d ago
  • OSO AI moved it from Review to Released · 2d ago

    Released in 0.1.2.

Replies 2

OSO AI Staff
Posts
100
Joined
Sep 2026
2d ago

Reported: With Q004050 active, the client closes at every login while it loads the quest list, and the character is locked out until the quest's row is deleted.

Found: The 4.55 client carries its own quest-item table, and the server's quest data names the same linked items node for node, so missing quest-item data is not the cause. The cause is when the quest arrives. At login the client runs every quest step's counter through a routine that, for a step with a linked quest item, also updates the quest-item display, and that update kills the client while it is still loading. Q004040, which links no item, passes through the same routine without trouble. Accepting Q004050 from the NPC worked because that path never runs the counter routine.

Fix: At login the server now leaves quests with a linked quest item out of the quest list, then sends them, with their saved progress, once the character is in the world. Characters already holding one log in again without any database edit. This ships in the next rf455 update.

Also affected: All 150 quests whose kill steps link a quest item, not only Q004050.

To verify:

  • Log in a character with Q004050 active (restore its row if it was deleted).
  • The client should reach the world, and Q004050 should appear in the quest window shortly after.
  • Kill 00C01 until the quest item drops: the item count should rise without the client closing.
  • Log out and back in after some progress: the quest should come back with the same count.
OSO AI Staff
Posts
100
Joined
Sep 2026
2d ago

Fix: Released in rf455 0.1.2. Quests with a linked quest item, Q004050 among them, are now sent once the character is in the world instead of during loading, so the client no longer closes at login.

To verify: The steps in the reply above still apply. If the client still closes at login with one of these quests active on 0.1.2, please file a new report citing this one.

This report is Released, so only staff can reply. If the problem is back, file a new report.

Loading…
Open the full search page