I wonder how hard it would be to make an MMO that anyone could run a server for, but you could move characters between servers, so you didn't have to start over if one shut down or the person running it turned out to be a dick.

Like, when I was in Living Greyhawk (worldwide tabletop D&D campaign) you got a certificate at the end of each adventure starting how much GP & XP you had, and any favors or magic items.

I wonder if you could do that, but attach some evidence that the server was running a known version of the code and adventure?

· · SubwayTooter · 7 · 10 · 14

I mean, I'm sure flaws would be found, but you could deal with them on a case by case basis. Like manual approval for characters from servers you've never heard of, or the ability to ban characters from specific servers or such.

This was inspired by thinking about the claims NFT fans make, and thinking how some of the uses they want aren't terrible ideas, but

A) For-profit game companies would never do them as they would tend away control


B) The whole transaction and proof of work thing don't add anything? Like, sure, you can't prove that there aren't a dozen copies of the character in the above example floating about, but if someone put their high level character up on bittorrent with the private key for it, it would be easy to spot multiple people trying to log in with the same character

@Canageek the biggest issue is by far the cheating

there is no way to deal with that in any technological way without either

a. enormous waste of resources
b. empowering server administrators to vet people and the servers they come from

i had some thoughts here last time this subject came up on fedi (link to that thread also in the blog post)

@carcinopithecus I was thinking that b) would be needed, and that a) wouldn't actually work as someone will always find a way around it.

I look forward to reading your post

@Canageek Like minecraft but with inventories & levels that travel with you?

@bluepupboi I was thinking kinda like Neverwinter Nights or Baldur's Gate, but various people run servers with different adventures on offer

I um, don't play MMOs

@Canageek I think Spritely is trying to be used for something like this (although its not quite there yet last I checked)

@Canageek Probably the best you could do would be to have the server periodically hand you a certificate authenticating your character's state (including timestamp, code version, etc.), which you could then hand to another server -- and that other server may or may not decide to accept it based on whether the operators trusted each other.

This would work even if you *later* had a falling-out with the server operator.

@varx That is what I was thinking of, yeah.

I was also thinking that if you used a modular format, sort of like how D&D modules work at conventions, it would be easy to track and verify things.

so if they have a certificate from the Dungeon of Bob, the dungeon of Bob would have a publicly known signature and list of things and amounts it can give out, so you could verify that the cryptographic signature of the version of Dungeon of Bob they played matches the known list

@skysailor this came from thinking about the claimed benefits from it, and realizing you can do the same thing with a federated public certificate network with way less overhead.

@Canageek What you do is have each player and server use a public/private key. Then a player could play on a server and get digital signatures of their key from it, signing their character's state at a given time. When their key shows up on a second server, if you trust the first one, then your client allows them to play with you as that character.

@cy Yeah, this is what I was thinking of, but since I'm a chemist not a programmer or cryptographer, I didn't want to use the technical terms in case I misused them.

@Canageek Oh I'm not a chemist or a programmer or a cryptographer. I just think public keys are how you separate an identity from being tied to any given authority like a server. All I really know is how to use them, and that they're super neat.

@cy What you have is a lot more bandwidth focused and automated then I was thinking. I was thinking more like, at the end of the each adventure (or at significant points) you cryptographically sign the version of the adventure & rules code you are using, rather then the, restrictive model you have?

Like, put in all the DM tools you need, so that if someone loses an item to a bug or something they can fix it, but have it issue that as a special certificate so someone else down the line can ask the person about it and see exactly what was done.

@Canageek Oh sure, I'm just saying that's how you would do it for an MMO. If you want to actually have fun, you could use those signatures as advisory evidence, to help players decide on what their characters are decked out with, when they first come together. They could then be like "OK so Cedric built a Staff of Cold in his last group, but to start this off you're all going to wake up without any equipment naked in the dungeon, 'k?"

@Canageek Yeah, I can come up with some great ideas, in theory...

Or you can take it one step further, and have other players digitally sign what they consider that character to be, if they observed them doing certain things or getting certain items or abilities. Basically, you want a trust network, and the tools to do analysis on it, to find out who's likely to play with you, and who's likely to godmode speedhax and blow up your base for teh lulz.

Then servers are just supernodes, doing nothing but assisting in relaying data between players, who play the game together, on their own.

@Canageek you'd need a lot of trust that all the participating servers are running the same balance.

Technically, not difficult, depending how much or little Trust you wanted in the system.

@astraluma I was thinking that if you separated out code and adventure, like the way published D&D does it (rulebook, adventure module) you could include a proof that the server was running a known version of the rules and a specific adventure and version of that adventure.

@Canageek then you trust the server is running the engine you expect, unmodified, and that the adventures were developed fair and balanced.

@astraluma I was thinking you could include a signature (hash?) showing the server is running a known version, and likewise for the adventure. You could ban adventures that were too generous from other servers and so forth.

It wouldn't be human work free, which it what crypto enthusiasts claim, but I think it would give the tools to allow it to happen at all

@Canageek you then trust whatever made the signature and that it wasn't forged. (Now much harder)

@Canageek I might have misunderstood the concept, but that sounds like terraria. You can run your own server can swap characters (including their inventory) between them

Sign in to participate in the conversation

cybrespace: the social hub of the information superhighway jack in to the mastodon fediverse today and surf the dataflow through our cybrepunk, slightly glitchy web portal support us on patreon or liberapay!