a multiplayer game of parenting and civilization building
You are not logged in.
Pages: 1

First, the new feature in this update: anyone can now type /NOCHAT in the chat box to disable chat at any time, and /YESCHAT to re-enable it. When toggled, /NOCHAT mode will replace all player-generated text with X's. Thus, you can still see that people are talking (like you can see a hungry baby asking for food), but you can't see what they are saying. With /NOCHAT, your own chat still goes through and is seen by other players (though even that will be replaced for you with X's as you see it above your own head). This also applies to DING messages, which can sometimes contain player-generated text from leaders.
The /NOCHAT feature is an extension of the older /BLACKLIST feature, where you could block certain words and replace them with X's. /NOCHAT essentially blacklists every word.
For concerned parents, here's where things get interesting: you can also type /NOCHAT MYSECRETPASSWORD, and then after that, /YESCHAT won't work unless you type /YESCHAT MYSECRETPASSWORD. These passwords are scrubbed from the Up Arrow chat history, so your child won't be able to see them. Thus, if you'd like your child to play One Hour One Life, but not risk them reading any text written by internet strangers, you can now block chat for them permanently. I've talked to some parents who play online games with their kids, and they often just turn chat off completely. Now you can do that in One Hour One Life.
Okay, so that's the new feature. But the fun and joyful part of this update is the long and winding story of how we got to this point of even needing a /NOCHAT feature.
Let me tell you about a guy named Ian.
Ian has been playing One Hour One Life for 8 years, since 2018. At first, he was just like any other OHOL player, enjoying the game, participating in the community, and even submitting very helpful and thorough bug reports on Github. At some point about four years ago, for reasons that I don't fully understand, he switched gears and made it his personal mission to ruin the game for everyone. He became the most troublesome and notorious griefer in the history of the game. Every serious OHOL player knows his name.
For many years, OHOL has had a curse system, which is a way for players to say, "Hey, I don't want to play the game with you anymore." You had a somewhat limited supply of curses, and when you cursed someone, it originally prevented them from being born near you for a few weeks. It was your own personal blacklist, allowing you to express your own preferences about the kind of behavior you liked and didn't like from other players in the game. In general, this worked pretty well.
However, what happened if you bothered lots and lots of people? Eventually, you were cursed by pretty much everyone, and then you couldn't be born near anyone, and then there was nowhere for you to be born at all. In that case, you were spawned 200 million meters away in a lovely place called Donkeytown, where you could play with the other donkeys who had also been bothering everyone.
And guess where Ian ended up after not too long? He rode first class on the Donkeytown express. But did that stop Ian from bothering people? No, it did not!
You see, your curse status is tied to your account, which is based on either your email or your Steam ID. How hard is it to get a new email address? Not too hard, it turns out!
And Ian got a boatload of new email addresses, and used them to purchase dozens of extra accounts. Each new account had a blank slate, with no curses at all. He could escape from Donkeytown and go right back to bothering people. Meanwhile, his Donkeytown accounts were waiting in the wings for their curses to expire after a few weeks, and then he'd go right back to using those. Rinse and repeat.
Over time, I ratcheted up the expiration time on curses, eventually settling on five years, which in the context of the game is essentially "forever". This put an end to Ian cycling through accounts, but it didn't stop him from buying new accounts, and buy new accounts he did.
At some point he realized that it was better to buy new accounts on Steam, when the game was on sale, and to exploit some outdated pricing in certain third-world countries that had experienced recent currency crashes. If you waited for the right moment, you could buy the game on sale in the Philippines for $2 US. By using a VPN to evade region locks, Ian created dozens of fake Steam accounts, each with a fresh copy of OHOL ready for a brief stint of unbridled griefing before it got cursed by everyone.
Even better, Steam's generous refund policy made this process even more viable. You could refund with less than 2 hours of playtime and less than 14 days of ownership. Furthermore, by buying the game on Steam, but launching it outside of Steam, you could trick Steam into not counting your hours of play. Which meant you could play for hundreds of hours over 14 days and still get a refund from Steam.
So now Ian was essentially getting unlimited free accounts, through Steam's refund policy, to keep griefing without cost.
All told, between Ian and the other griefers who were helping him, we're talking hundreds of accounts.
Still, people were cursing each new account when it caused trouble, which helped to limit the damage somewhat. But the idea that "this person won't be born near you" is a small comfort when the griefer in question is so determined. Ian was known to travel for 8+ hours in-game to reach a long-distance target for his harassment.
Eventually, Ian also started using multiple accounts at the same time, essentially having a bunch of zombies running around helping him swamp the various voting systems in the game. He would spawn 10 of these dummy accounts into a town, vote himself into the leadership role, and then exile and kill all the real members of the town.
Once it escalated to this point, where he was no longer just bothering people and getting sent repeatedly to Donkeytown, but also effectively conducting a distributed attack against the game's servers and systems, I realized something more serious needed to be done. The curse system was effective over the long term (as everyone eventually got bothered and cursed a given account), but that collective action couldn't act swiftly enough to deal with this endless barrage of trouble. It was also exhausting for the player community to keep cursing account after account.
I eventually granted special powers to a small group of long-time community members, headed by the venerable Tarr. These vigilant watchdogs had one mission: identify and tag all of the extra accounts used by Ian and the other griefers. Without waiting for the community to collectively notice them, these accounts could be sent instantly---and permanently---to Donkeytown.
These watchdogs have been active for about three months, and during that time, they have identified and tagged over 140 accounts. This has dramatically curtailed the troublesome activities of Ian and the other serial griefers.
For minor disagreements on playstyle between individual people, the existing curse system works fine, and we generally don't need in-game "rules" or "moderation" to solve every little dispute. But the curse system was not sufficient to deal with a determined group of attackers who were using over one hundred accounts.
Okay, so, problem solved, right? Happy ending?
After all these years of determination, do you think the tale of Ian would really end there?
There's an obscure feature of the OHOL crafting tree where you can mix photo chemicals from scratch, using actual real-world steps, and make photo paper. You can also make a primitive camera through a combination of carpentry, black paint, glass blowing, weaving, and metal tempering. After that, you can use each piece of light-sensitized paper to snap one photograph in-game (which comes out initially as a negative, of course), then dip it in fixer to make it permanent. After that, you can make a contact print to create a positive image. If you go through this process, the photo object that you create in-game can be viewed by anyone when they pick it up. Even cooler, these in-game photographs appear in a visual log on the OHOL website. This photography feature was introduced back in 2019, and you can read about that here:
https://onehouronelife.com/forums/viewtopic.php?id=6188
Over the past 7 years, more than 6000 photographs have been taken, which is a staggering number, given how difficult photographs are to take in-game. Many of these photos are beautiful and touching---lingering artifacts depicting the in-game world as it used to be. You can browse through all of them here:
http://photos.onehouronelife.com/server … front_page
To understand the next part of this long and winding tale, you need to understand a bit about the tech behind the photos. The server for OHOL only knows about objects and the interactive relationships between them. It doesn't need to know about what those objects look like. Thus, the server doesn't deal with sprites or textures. The client uses sprites and textures to render a visual representation of the map and object data described by the server. The fully-composed game image only exists client-side. This means that to snap a photograph in-game, we somehow need to trust the client to generate this image, and you can see how this might lead to problems. First of all, what if people just uploaded random junk images to the photo server---images that weren't even taken in-game with the real camera? I blocked that possibility by having the server generate a signature when it believes you are actually taking a photo (because you have actually crafted a camera and actually used it). It sends this signature to the client, and the client sends this signature to the photo server. Thus, every photo submitted must correspond to a real, in-game photography action that happened for real on the game server. Furthermore, this signature indelibly ties the photograph submitted to the account that took it. So yes, someone could mod their client to submit weird images, but at least they would be limited (they'd have to craft photo paper each time), and the bad images would be linked to their account.
Seven years went by without anyone submitting a bad, non-game image through a modded client.
About three weeks ago, Ian and the other griefers realized that you didn't even need to fully mod the client to submit bad images. You could just replace the in-game ground texture with an image of your choice, and then snap a picture with that part of the ground in the frame. Given that you were taking a real photo according to the server, the client would just snap a picture of this modified ground texture and upload it, and the photo server would accept it and post it to the website.
And guess what Ian and friends submitted in their first batch of modified images? Swastikas!
Of course, I quickly removed these images from the photo server and banned the account in question.
At this point, I was pretty much out of options. I had spent hundreds of hours dealing with this one guy named Ian. I had programmed whole new systems just to deal with him. I had appointed a team of volunteers to deal with him. And now he was gracing my home page with Nazi images. The only way to stop more images from being posted was to disable the photo feature entirely---which was one of the most beautiful and touching aspects of One Hour One Life.
Community lore was that Ian was a kid when he started playing OHOL, but that he was an adult now. He apparently still lived at home, and had no job, which is what gave him so much time for such an endless streak of determined trouble-making.
He had bought something like 20 accounts off-Steam through my payment processor FastSpring, and he had used his real name and home address for several of these accounts. Of course, if he really was living at home with no job, this probably wasn't HIS house or HIS money or even HIS credit card. It was likely his mother's!
So, after all these years, and all these wasted hours, I decided to call his mom. Yes, for real. I called his mom.
This was one of the strangest phone calls that I've ever had to make.
She answered right away. I explained that I was a game developer, and asked her if she was Ian's mother. She immediately said, "Oh no, what has he done now?" When I mentioned that I made One Hour One Life, she (of course!) knew all about the game. But she didn't realize Ian had used her money to buy so many accounts, and she didn't understand how much trouble he had been causing with Nazi images and all the rest. She said she was going to talk with him, and she thanked me for calling. She said I could call her any time if he was still causing trouble.
I was hopeful that things would calm down for a bit after this.
Then, about three days later, a new batch of images was submitted. More swastikas, but now we had little OHOL characters in modified SS officer hats standing around at salute, complete with big cartoon erections. We also got an image of Hitler's face in the mix.
It seemed like these might have been posted by Ian's griefer friends, and not by Ian directly. Again, I removed the images, and banned the account.
Then, a few days later, another batch of images. This time a photo-shopped image of me standing arm-in-arm with Trump and Epstein (I vehemently deny having ever been to that island), and another image featuring a bomb dropping onto the roof of my actual family home, complete with text showing my home address and making various threats.

These. Guys. Just. Won't. Stop.
Of course, banning these three accounts did nothing, because they were all brand new accounts that were created the same day the photos were taken. They've already gotten their refunds from Steam, and they can get more accounts, and post more photos, tomorrow, and the day after, and the day after that.
In general, players have the power to remodel and remove everything in the game. Apparently Ian and pals also build buildings in the shape of swastikas, but players tear down those buildings.
There's one permanent bit of content that can't be removed, however: the statues that are left behind, commemorating each player who rode the rocket. These statues are engraved with the player's last words before flying away. And can you guess what Ian's last words are, when Ian rides the rocket? There's his permanent message, for all to see, on his statue.
I eventually decided to remove "last words" messages from statues entirely to solve this problem, but it was a sad decision to make.
Was I going to have to remove the photo feature completely, in a similar way?
After all these years, and all these failed attempts, it finally dawned on me: there is only one way to stop all these extra throw-away accounts, and that's TIME.
Online communities have been plagued by trolls, spammers, bots, and other trouble-makers for decades. "Prove You Are Human" challenges, it turns out, do nothing these days, because even the spam "bots" are humans. Thus, most online communities have actual humans sifting through and removing the junk on a daily basis. It never ends. It just keeps coming. Every day. For the rest of your life.
The OHOL Discord community was plagued by this for years. Banning accounts on Discord does nothing, because you can get a new Discord account for free, and use a VPN to bypass IP bans. The moderators banned over 800 accounts through the years. The vast majority of these were alt accounts of people who had already been banned. What a colossal waste of time.
I had similar problems on the Discord community for my Project Skydrop treasure hunt. There was a members-only chat area, only visible to the people who had joined Project Skydrop for $20. But the general public area was a seething mess of spam and inappropriate posts. After a short while, I closed the public area entirely, and the entire Skydrop server became paying-members-only. The problems went away instantly. When people have something to lose, they don't cause trouble. I think in the entire history of Skydrop, I only needed to ban one or two people from the Members area.
Back in April of this year, I applied a similar system to the OHOL Discord: in order to join, you had to prove that you owned one of my games on Steam. Steam makes a handy API for checking ownership. This worked pretty well, dramatically decreasing the rate at which banned troublemakers were returning with alt accounts.
However, as we've already seen, the most notorious troublemakers already have dozens of copies of the game on Steam. So the most determined people kept coming back over and over. Furthermore, they are using the old Steam refund trick to prove ownership again and rejoin without cost.
But how do you tell the difference between a REAL PERSON and the alt account of a known trouble-maker? What differentiates them? The answer turns out to be pretty simple: TIME.
And the mods had already been doing this manually when trying to detect alt accounts. They'd check out how long the person had been a Discord member. Brand new alt accounts, created just to rejoin, were usually about one day old. How many real people, who are active on Discord, have only been Discord members for one day? I've had my account for 8 years. I bet you've had your Discord account for years too.
So just require that people who join your Discord have been Discord members for at least 6 months. Real people come right in. Throw-away alt accounts are completely blocked. Banned people stay banned. Problem solved.
And we can do a similar thing to curtail the Steam refund loop: require that people have owned the game for at least 15 days.
In the case of taking photos in-game, I currently limit that to people who have owned the game for one year. If your account is too new, you get a helpful arrow leading you toward a veteran who can help you take a photo.
And if you want to waste your year-old account posting a bad photo, I'm happy to remove the photo and ban your account, but at least you'll be paying for my speedy customer service with your money and your time.
It's so strange to me, to be beating my head against a problem for eight long years, trying everything under the sun, and there's a simple, bullet-proof solution staring right at me the whole time.
Of course, getting this set up on Discord required some pretty complicated bot programming on my end. This seems like something Discord should offer by default: a simple requirement that new members to your server have had their Discord account for at least X months, where you can set X to whatever you want. Currently, you can just require that they've had Discord accounts for at least 5 minutes. If you know someone at Discord who could affect this change, please pass my contact info their way:
jasonrohrer AT fastmail DOT fm
We could collectively save millions of hours of wasted moderation effort with one simple change on Discord's end.
With these systems in place, things are finally calming down a bit. No more need for constant Discord moderation. No more bad pictures on the photo server, at least for the time being. Meanwhile, Tarr and his crew continue their diligent in-game work.
Neither snow nor rain nor heat nor gloom of night stays these couriers from the swift completion of their appointed rounds.
Offline
Pages: 1