Old School Ops

RF2232-489 GoMMO_RF v0.1.1 Headless automation bugs & feature requests

Original game client RF Online: Golden Age v0.7.0 low · filed by NeedCoffee
on Ron Released

Hi folks! I've been testing v0.7.0 locally using the headless client GoMMO_RF v0.1.1 for a research project involving scripted and AI-controlled characters

The automation API has been working well so far for combat, movement, looting, and equipping. I've run into a few limitations and bugs during testing, and I had some questions about the current implementation and what's planned next if you all are open to share :)

1. Missing automation features or possible bugs

There are a few things I haven't been able to do through the existing tools

  • Party management: Inviting players, accepting invitations, leaving a party, and listing party members.
  • NPC vendors: Buying, selling, and repairing equipment.
  • Player trading: Trading items directly between characters.
  • Portals and map changes: Using portals to move between maps.
  • Animus and MAU: Summoning, recalling, and feeding Animus; calling, boarding, and refueling a MAU.

I believe most of these are listed as supported but I was not able to use any of them. Are any of these features planned to be released soon?

2. Missing information in observe

There are a few pieces of state that would be useful for AI-controlled characters but don't seem to be exposed right now:

  • SP, and FP under its actual name rather than mp.
  • Active buffs and debuffs, skill cooldowns, and whether a cast is currently in progress.
  • Monster levels, which always show as 0, and absolute HP values instead of percentages.
  • Current experience and the amount needed to reach the next level.

Are there plans to expose any of these through observe?

3. Skills and character setup

I've noticed a few things while testing skills:

  • With char.start_all_skills = on, the skills endpoint returns 82 entries, all named Force <n>, with a cost and level of 0. Casting still works (for example, slot 0 works, and FP drops from 535 to 505). Would it be possible to expose the actual skill names, FP costs, levels, ranges, and cooldowns?
  • I haven't been able to get any melee skills to appear in the skill bar. Is is feasible to expose this?
  • Is there currently a way to grant skills or forces to an existing character through the control panel or API? I couldn't find any skill-related fields in the character editor.
4. Bugs and usability issues

A few issues I've run into during testing:

  • GM commands: With gm.player_commands = on, sending say "%lv 20" from the headless client just sends the text as regular chat. The command works as expected from the normal client.
  • loot_nearby hanging: In roughly 1 out of 1,000 calls, the request never returns. I've had one instance remain blocked for over 30 minutes.
  • Multiple clients: Using -clients N only exposes one character through the API. For now, I'm running a separate process for each character. is this intended?
  • Automation token: Every client startup overwrites the same automation.token file, so I have to start multiple clients sequentially. A per-port token file or a -token-file argument would make running multiple instances much easier.
  • Character editor: Negative values for pos_x are rejected, and changing cur_hp doesn't seem to have any effect.
5. A couple of additional questions
  • THIN_SCRIPTED_MOVEMENT: How frequently does a scripted client receive movement updates for other players? Does this setting affect monsters as well?
  • Panel settings API: Is there an officially supported API for reading and modifying panel settings? I'm currently using GET/PUT /api/admin/settings. It works, but I found those endpoints by inspecting the page scripts, so I wasn't sure whether they're intended to be used directly.

Thanks for all the work you've put into this project @Ron! The headless AI automation has been really useful for experimenting with AI controlled characters, and I'm looking forward to seeing how it evolves.

Reported on version 0.7.0
👍❤️ jonahmal and 1 other

Replies 8

Ron Administrator
1d ago

Thanks so much buddy, it means a lot.

The client aspect is kind of a side project because there are a few people in the community working with building their own clients. I decided to focus on the AI control and headless aspect for testing to be a little different. I'm glad you're finding it useful.

I'll work on addressing all of the above imminently. I was honestly just waiting to see if anyone would file feedback about using it or not. As long as at least one person is using it and as long as you're filing badass bug reports like this, we'll keep building!

I'm working on releasing an update for Studio today. I'll pivot over to this tonight and have some news soon.

❤️ NeedCoffee
OSO AI Staff
1d ago

Reported: Testing rf2232 0.7.0 with the headless GoMMO_RF 0.1.1: party, vendor, trade, portal, animus and MAU actions are missing, observe lacks several values, skills show as Force <n>, % commands are sent as chat, loot_nearby sometimes hangs, and the character editor refuses negative X and ignores Health.

Found:

  • The rf2232 0.7.0 bundle ships GoMMO_RF 0.1.1. Party (invite, accept, leave, members), NPC buy and sell, player trade and portals arrived in 0.1.3, released 2026-10-03. The automation page on the site describes 0.1.3 without saying so, which is why they read as supported. Repair, animus and MAU actions do not exist in any version yet.
  • GM commands are a separate chat request on the server, not ordinary chat with a % in front. The normal client sends that request; the headless client had no way to send it, so say "%lv 20" went out as plain chat.
  • The character editor gave the X, Y and Z coordinates a floor of zero by mistake, so any negative value was refused.
  • The server refills Health, FP and SP to their maximum every time a character enters the world, so the stored Health the editor changed was never read.
  • observe reports FP under mp. SP arrives from the server but the headless client discards it, and it does not read experience. Buffs and debuffs, cooldowns and casting state are not tracked into observe (cooldowns reach events only). Monster HP is a percentage because the server sends monsters' HP as a rate, not a value; monster level is only filled when a level-up is seen.
  • The skills list holds forces only. The headless client names them by slot, reads no cost, and shows the use counter as the level, which is 0 on a fresh grant. Melee and class skills are not read at all, so they cannot be cast.
  • -clients N together with the API serves one character; the other N-1 are not exposed. There is one fixed token file per install folder.

Fix:

  • The next rf2232 update ships GoMMO_RF 0.1.3 instead of 0.1.1.
  • The automation page now names the version each action arrived in.
  • In the next GoMMO_RF release, a say line starting with % is sent as a GM command, in every RF version the client plays.
  • In the next rf2232 update, the character editor accepts coordinates from -32767 to 32767 and no longer offers Health, FP and SP. The same applies to RF Age of Patron and RF Dragonborn, which had the same two problems.

To play now:

  • GoMMO_RF.exe -verbs lists the actions the build you have actually supports.
  • To give an existing character every skill and force, type %allskills in the normal client while player commands are on.
  • Run each extra headless instance from its own copy of the folder so each keeps its own token.

Answers:

  • THIN_SCRIPTED_MOVEMENT applies to clients that identify as scripted. They receive each other player's movement at most once a second, plus a position refresh about every 8 seconds. Monster movement is not thinned.
  • The control panel's settings endpoints are the panel page's own backend. They are not a documented API and may change without notice.

Please file separately, each needs its own decision:

  • loot_nearby never returning: the exact Lua call, the client log from that run, and whether the character or the target was moving. The cause is not found yet.
  • Each feature request on the Ideas board, one per idea: repair; animus; MAU; SP, experience, buffs, cooldowns and casting state in observe; skill names, costs and ranges; melee skills; a token-file option; several characters behind one API.
1d ago · edited Replying to RonThanks so much buddy, it means a lot. The client aspect is kind of a side project because there are a few people in the community working wi…

Thanks @Ron ! I have a pretty ambitious research project and this would help me overcome some of the blocker in getting there. I really appreciate it!

>Each feature request on the Ideas board, one per idea: repair; animus; MAU; SP, experience, buffs, cooldowns and casting state in observe; skill names, costs and ranges; melee skills; a token-file option; several characters behind one API.

Doyou want me to create a separate post for each feature request on the Ideas board? or combine them in one post? There are quite a few different ideas here haha

👍 Ron
Ron Administrator
1d ago · edited Replying to NeedCoffeeThanks @Ron ! I have a pretty ambitious research project and this would help me overcome some of the blocker in getting there. I really appr…

Nah don't worry about that. The default mode is to suggest separation. I'll go ahead and work all of these in the backend without you needing to log each one separately. Our visions align on this so we don't need to be so verbose on this one.

I'm going to also work on finding a way to list the GoMMO client as its own separate download and remove it from the server files, that way I can update it on a separate track.

I hope to have a lot of this up before midnight tonight.

❤️ NeedCoffee
Ron Administrator
1d ago

I posted a new client version mostly just to rebase it to the multi-game format. I am still working on getting the stuff you mentioned here added in. It will be in v0.2.1 which I will still have on the site before I go to bed tonight.

1d ago · edited

Thanks Ron! QQ: while you are at it, any chance you could check whether walk_to respects collision? I have had a few instances where the character walks straight through a wall https://imgur.com/a/YvFnp0l Also, would be great if the headless client has proper options like -race , -class when the client creates the character.

❤️ Ron
Ron Administrator
1d ago Replying to NeedCoffeeThanks Ron! QQ: while you are at it, any chance you could check whether walk_to respects collision? I have had a few instances where the cha…

Consider it done. I'll throw this into the mix now.

❤️ NeedCoffee
OSO AI Staff
1d ago

Reported: The headless client lacked party, vendor, trade, portal, animus and MAU actions; observe lacked SP, buffs, cooldowns, casting, monster levels and experience; skills showed as Force <n> with no melee skills; % lines went out as chat; loot_nearby sometimes never returned; -clients N exposed one character; every instance shared one token file; walk_to walked through walls; and new characters could not pick a race or class.

Fix: Released in GoMMO Client 0.2.1, on the GoMMO Client page now; a running client updates itself on its next start.

  • Party, vendor buy and sell, trading and portals: in the client since 0.1.3.
  • Animus: pets, pet_summon, pet_dismiss, pet_command (attack or follow), pet_attack. There is no feeding on this server: a resting animus heals over time, and pet_refresh shows its recovered health.
  • MAU: vehicles, vehicle_frames, vehicle_buy, vehicle_call, vehicle_board, vehicle_leave, vehicle_return, vehicle_repair, vehicle_reload, vehicle_fill_spares. A MAU is the only thing RF repairs; weapons and armour do not wear out.
  • observe: fp and sp, exp_percent, buffs and debuffs with time left, each skill's cooldown and ready_in, the cast in progress, monster levels, and the character's class.
  • Skills: real names, FP cost, range, cooldown and level, then the trainable weapon skills and the character's class skills, all castable with use_skill. A promotion updates the class and its skills without a relog, and rf.class_options and rf.class_change promote.
  • % lines are sent as GM commands, so say "%lv 20" and say "%allskills" work from the headless client.
  • A call stuck on an unanswered game connection now returns an error at its time limit instead of waiting forever.
  • -headless -clients N with -serve or -mcp puts every character behind one API: /clients, /c/<index>/..., and a client argument on every MCP tool.
  • Each port gets its own token file, -token-file names one, and a -serve-addr with port 0 takes a free port.
  • walk_to and step_toward stop at walls and route round them, and path_to returns the route. A route stays on the floor the character stands on.
  • -race and -class choose a new account's character. Characters the headless client created before this had no class, so no class skills or starting items.

Also affected: The character editor's negative coordinates and its removed Health field ship in the next RF Golden Age update. Monster health stays a percentage and experience a share of the level, because that is all the server sends.

To verify:

  • Run loot_nearby in a long loop and confirm no call stays blocked.
  • At level 30 (%lv 30), call rf.class_options, then rf.class_change, and check that skills changes without a relog.

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

Top xp sources

How xp works
Loading…

Open the full search page