Hello everyone,
This Sunday we are releasing more fixes to the game server and client, adding new community events, and rolling out a significant new feature: automated chat moderation.
First, I want to thank everyone again who participated in the last community questionnaire. There was a lot of feedback that was very motivating to hear, and I think it brought focus to the right places. Since Friday, your feedback has been on our minds. Once we finish releasing and testing the content going live with this update, we'll start working on the plans and actions needed to address the key feedback points from the community. Before putting full focus on P2P release, Wilderness adjustments, and other necessary changes, I wanted to finish a few things that were already in the works.
Items released today:
- New client and various fixes
- Survival community event
- 1v1 PvP Tournament community event
- Automated chat moderation, a virtual moderator powered by an LLM
Client & Game Updates
Client changes
- Fixed performance issues including lower FPS introduced in a previous client update, mostly affecting Android users
- Fixed Android client crashes when sound was on
- Fixed client not showing an error when an update was required
- Fixed Android chat scroll bar size and hit box issue that made scrolling chat difficult
- Added automatic keyboard show/hide on Android when sleeping
- Added additional filtering for ground items. You can now choose any combination including coins, bones, runes, fish, arrows, gems, herbs, stackables, unstackables, and world-spawned items
Game changes
- Fixed remaining issues with disappearing doors and NPCs occasionally getting stuck after being ranged
- Fixed item dropping occasionally crashing the client
- Fixed mining bug allowing ore gain after teleporting while mining
- Fixed auto-walking opening gates unnecessarily
- Fixed weaken spells not giving skull
- Improved server game loop fairness, so login order or the time you appeared in a game region has no theoretical way of affecting how quickly your actions are processed during the game tick cycle.
- Improved Customer Support Interface to help with managing mutes
Automated community events
A couple of weeks ago we released one of the classics, Lottery. This week we're releasing refreshed Survival and 1v1 PvP Tournament events. Players who played REV1 should be very familiar with these. They're similar to how they ran on the old server, just more polished, and in the future they'll evolve into different automated events.
The key change versus REV1 is that for now, these events are run by server staff on player request only. We think allowing players to run them back-to-back could negatively impact PK and the player-driven consumable economy. Once these events are reworked to require consumables and stats from players, we'll allow them to run more often on a set schedule.
1v1 PvP Tournament
Step into the arena. No gear required, no skill grinding, no item risk, just clean 1v1 combat where the only thing that decides the winner is you.
How it works
- 8 or 16 player bracket. When the event opens, you join from anywhere in the world and get teleported to the waiting area.
- Equalised builds. On entry, your stats are temporarily set to a tournament build, and you're given full gear and supplies. Everyone fights with identical setups, so there's no advantage from levels or items.
- Random opponents, 1v1 fights. Once enough players have joined, you're paired up and teleported into the arena.
- Win to advance. Get the kill and you can walk through the door to the next room, where your next opponent waits.
- Fresh supplies after every kill. Heal up, restock, fight again.
- Last player standing wins the prize pot.
What's safe
- Your real inventory, bank, and skills are untouched. The build you fight with is loaned to you for the event and disappears when you leave.
- Fully safe event. No item loss, no XP loss, no skull risk to your real character.
How events start
- Donor-funded: a player or moderator donates the prize and entry is free. The donor picks the build; otherwise a random build is rolled.
- Mod-issued item prizes: for special events a moderator can put up a unique item as the prize (handed to the winner via staff trade).
Builds
There are 25 character builds to choose from (8 F2P, 17 P2P), including pures, tanks, mains, hybrids, rangers, and mages, so each tournament can play very differently. Type ::abouttournament in-game to browse the full list.
Commands
- ::tournament, join an open tournament (or click Join on the Event Widget)
- ::leave, leave during the join window (entry fee refunded if applicable)
- ::replace, take a missing player's slot if someone disconnects mid-event
- ::abouttournament, full info about the event and character build list
Survival: can you outrun the dragon?
A wave of players, one King Black Dragon, and a single rule: don't get touched.
How it works
- Join the arena. Type ::survival (or click Join on the event widget) during the join window.
- 3-minute countdown. Players gather, the prize pot grows, and the dragon waits.
- Run. When the countdown ends, the King Black Dragon spawns. One touch and you're out. No second chances, no escape, no combat.
- Last player standing wins the prize pot.
The dragon will taunt you as it hunts. Spectators in the viewing area can hear every roar and every kill, so bring popcorn.
What's safe
- Survival is safe by default if you bank your valuables before joining. Entry requires an empty inventory, and the in-game prompt will warn you twice. Don't bring anything you can't afford to lose.
- Don't log out during the event. Logging out during the countdown forfeits your refund window; logging out after the dragon spawns forfeits your entry fee. The event is short, so stick around.
How events start
- Staff-started: staff can start an event on player request. Entry fee: 25k gp (20k to the pot, 5k server tax).
- Donor-funded: a player donates the prize via ::donateforevent. Entry becomes free, and the donor's gp (or item) is the prize. Donated events are tax-free.
Refunds & rules
- Leave before the dragon spawns (::leave): entry fee refunded.
- Walk back out of the arena before the dragon spawns: entry fee refunded.
- Event cancelled with under 2 participants: everyone refunded automatically.
Commands
- ::survival, join the event
- ::leave, leave during the join window (refund issued)
- ::donateforevent, donate gp or an item to start a donated event
- ::aboutsurvival, full info
Automated chat moderation
This is the big one. From today, the server is running an automated chat moderation system that uses a local LLM to monitor public and global chat in real time.
Why we built it
The honest truth is that the volume of support tickets we get about offensive chat, personal attacks, and harassment is enormous. Our staff team is small, and watching every line of public chat in real time isn't realistic. Trying to police chats manually, by us or by in-game moderators we'd appoint, creates its own set of problems: accusations of favouritism, arguments over why one person got caught for something while someone else didn't, and hours of support time spent on conflict resolution instead of on the things that actually move the community forward.
I also want to take a moment to apologise to anyone who suffered from our mistakes early in the server launch, when we didn't have a strict enough chat filter. When we eventually rolled out a basic filter, we promised we'd follow up with proper AI-assisted moderation for the public space. Today, we're delivering on that promise.
An always-on LLM that understands context is, honestly, a near-perfect fit for this problem. It doesn't get tired, doesn't take sides, and applies the same standard to everyone, including me.
How it actually works (the part I'm proud of)
Building this was genuinely one of the most enjoyable engineering projects I've worked on this year. Most chat filters score a single line in isolation. They see a word on a list and react. That approach falls apart immediately in a game like ours, where context, channel, and intent change everything.
The system we're shipping today does something different:
- It reads context. It understands what conversation is happening, who's talking to whom, and whether a line is friendly trash talk or genuine harassment. Calling your mate an idiot during a PK fight reads completely differently from calling someone an idiot who's been trying to walk away from you.
- It knows the difference between channels. Proximity chat, global ::1, and global-trash ::2 are treated with different thresholds. Trash channel is meant to be rough.
- It speaks multiple languages. Our community isn't English-only, and the system handles that natively rather than relying on translation layers.
- It understands l33t speak and obfuscation. Substituting characters or breaking words apart doesn't get past it the way it gets past traditional filters.
- It runs locally. Everything stays on our own infrastructure, and the LLM's written notes about flagged messages are stored in our database for transparent review.
- It's online 24/7. Unlike a human moderator, it never has a bad day, never plays favourites, and never burns out.
Getting an LLM to reason about chat moderation while actually understanding game-specific context (RSC slang, PK culture, what skull means, what ::2 is for) was a really satisfying problem to solve. And here's the part I'm most proud of: every player can read the LLM's actual reasoning about their own chat. Type ::myflags and you'll see what it noticed, what it ignored, how it interpreted your slang, and how it weighed your earlier messages. Curious what the LLM thought about your trash talk after getting sent to Lumb once again? It's all there. You're not just told "you got muted." You're shown the thought process behind it.
TL;DR: what this means for you
Before you read the details, here's the short version of what to expect:
- It's not a hall monitor, and it's not tuned for Roblox. Trash talk, rage, friendly insults, and PK banter are fine.
- It targets serious stuff only: hate speech, real-world threats, doxxing, scams, harassment of children.
- If you do cross the line, your main chat gets muted for a short time. Your trash channel (::2) stays open.
- Type ::myflags in-game to see your own standing at any time.
- The system launches with very high tolerance and short mutes (at the moment, 10 minutes for a first offense), and it currently allows two or more hard offenses before muting at all.
- We'll tighten thresholds gradually after a testing period, based on how it performs and your feedback.
What it watches for
The system flags messages in proximity, global, and global-trash chat. It's specifically tuned for behaviours that cross from "RSC vibes" into actual harm:
- Hate speech and slurs targeted at real-world groups
- Real-world threats (physical violence, irl harm)
- Doxxing, sharing or threatening to share someone's personal information
- Sexual harassment, especially anything involving minors
- Scams and real-world trade (selling accounts, gold for cash, etc.)
- Sustained personal harassment, going at one player repeatedly with no break
What it does NOT punish
This is the part that matters most to most of you:
- Trash talk during PK fights (calling someone trash, ratio'd, etc.)
- Casual rage and venting
- "You suck" / "git gud" / "L"
- Heated arguments between mates that stay verbal
- Adult banter, dark humour, gaming hostility
- Private messages are not evaluated for rule breaking
In short: if you'd say it to a mate over Discord during a LAN party, you're fine.
How escalation works
The system tracks a per-player toxicity score from 0 to 100:
- It only goes up when something significant trips detection. Most chat doesn't move it at all.
- It drops by 1 every minute of clean chat. A single bad day fades out naturally.
- It has a rolling 7-day memory of past mutes. Repeat offenders within a week get longer mutes; one-off mistakes age out.
If your score crosses 50:
- Your main chat (::1) is muted (at the moment, 10 minutes for a first offense, will be increased after testing period)
- Your trash channel (::2) stays open, so keep arguing, keep ribbing, just not in main chat
- Mute ticket is created, record added to offense log
If your score crosses 100:
- All chat is muted for 2 hours
- Mute ticket is created, record added to offense log
Repeat soft-mutes within 7 days ramp the duration up: 10 min, 20 min, 30 min, 60 min, 120 min. Behave for a week and the tier resets.
Check your own standing
Type ::myflags in-game. You'll see:
- Your current score (if any)
- Recent flagged messages from the last 24 hours, with the system's reasoning
- Your active mute status, if any
- A preview of what your next mute would look like, if you're a repeat offender
If you've never tripped detection, you'll see "No moderation flags. You're good." That's the goal. Most players will never see anything more.
What if a mute is wrong?
The system is automated and will sometimes get it wrong, especially at the start.
We are committed to investing time to make the system fair and well-tuned for our community. That said, we cannot promise we will review every individual mute, or reverse mutes on request. The point of reporting is to help us improve the system over time, not to undo individual mutes case by case.
If you think you were muted unfairly, reply to the support ticket the auto-moderator opens for every mute. In the in-game client, go to Support tab > My Mutes > Reply to the mute message you received. We read every reply, and use the patterns we see to retune the LLM and adjust thresholds.
The best way to avoid mutes is to stay on the right side of the community guidelines. The system is calibrated leniently, so if you are getting muted, something in your chat is reading as a serious offense, not just heated banter.
Feedback
We've calibrated the moderation system leniently for launch on purpose. The bias is toward letting things through rather than muting quickly.
If we're getting that balance wrong in either direction, tell us. When you play and experience the system in action, please let us know in the comments:
- How is the experience?
- Do you think the system is too harsh, or too lenient?
- Were you muted for something silly? Please open the ticket associated with the mute in the Support tab and reply that the mute was wrong. We'll review every report and use it to improve the logic.
Thanks as always for being part of the community. See you in-game.