> How is this different from just loading your world in a server and having your friends join?
Because player location, inventory, actions, are all load on the server. That's why servers have player limits.
> BitTorrent isn't going to work.
You and I are talking about different things. I'm talking about serving up the raw blocks alone.
And yes, I know, Minecraft servers don't support static file serving, or streaming from another source, or copy-on-write. I'm saying these are all nearly trivial to implement.
That's why I wrote, "then set it up so that "downloader pays" for bandwidth, plus a small royalty for the creator. As a downloader, I get to set up rate limits, etc, to not accidentally spend more than I want to, etc."
So, I set up a server.
You put $10 in your Minecraft account.
You load up my world, say 96 chunks at first. 1.15 MB of data.
Let's say you fly around long enough to load 1 GB of my world. That's a crap-ton of flying around, by the way.
You pay me $0.10. $0.09 of that goes to my AWS/Azure egress, and the final $0.01 goes towards the AWS/Azrue storage and my own royalty. That's right - I actually get paid for making a world that you wanted to visit. Imagine that.
Maybe I can't even get that money back out of Minecraft's walled garden. Maybe I can only use that to fly around other people's world, or to buy Minecoins that I can use to purchase mod packs and stuff, to make even more interesting worlds, to attract more players.
> Let's say you fly around long enough to load 1 GB of my world. That's a crap-ton of flying around, by the way.
Minecraft worlds aren't static. Will you be billed to download updated chunks too?
Also what happens if you don't put money into your Minecraft account? Can you still play with others?
> Seems like a nice economy, to me.
On paper, sure. In reality there are only going to be relatively few maps people might actually want to explore. The rest are going to be 99.9999% Minecraft procedural generation with a few player built houses around. And no, I don't think a tiny cut would change that. You're more likely to see people set up servers with that map which are pay to access, have item shops, donations, etc. which actually can rake in a decent amount of money.
> Minecraft worlds aren't static. Will you be billed to download updated chunks too?
There are two hard problems in computer science - caching, naming things, and off-by-one errors.
Yes, I can imagine multiple choices.
1) When you're downloading a chunk, always download the newest version of it.
2) When you're downloading a chunk, download it as it existed at the moment of a snapshot. Heavier burden on the server, to keep multiple snapshots. Perhaps some servers only keep one snapshot. Perhaps some keep one snapshot every 24 hours, but only for 4 days. You only have to keep multiple copies of chunks that actually got modified. And in fact, if a chunk never got modified, you only download a flag that says to let it get generated by the seed.
3) You periodically ask to download chunks, to keep relatively up-to-date. Maybe every hour. Maybe you only stream chunks from the backing server, if you haven't modified them locally. Maybe you choose that locally-modified chunks win. Maybe there's a way in-game to say you want this chunk (and its neighborhood) to update from the backing server. Commands, command-blocks, etc.
> Also what happens if you don't put money into your Minecraft account? Can you still play with others?
I'm not proposing to change anything about how Minecraft currently works. I'm proposing adding something new. Whatever ways you currently play with your friends, you can continue to do that.
But yes, if you stand up a server that streams from my server, and you run out of money, you could get notified you're out of money, and then as you continue to explore, I guess the thing that makes the most sense is that you just use the original seed to generate more terrain.
> On paper, sure. In reality there are only going to be relatively few maps people might actually want to explore.
Okay. Right now, you can visit the Marketplace to pay Minecoins to download maps others have made. If you look at the prices, they're absurdly inflated.
I'm proposing a way more organic and cheaper marketplace. I think a "reddit of cool places to visit" that you just click a link, and you're in someone else's map for as long as you want to be, could be really nice.
Add ways in-game to make a portal to someone else's server... and you're making something really neat.
None of these will work properly. If you do copy-on-write where both the upstream server and local client make changes then the chunks you (or your local client) made changes to cannot be updated from the upstream server. However, neighboring chunks can still be updated from the upstream, which means you get holes in buildings pulled in from the upstream world.
> Right now, you can visit the Marketplace to pay Minecoins to download maps others have made.
Cool, that's the way it should work. A snapshot stored in the cloud that you can run in a server or locally. Before this existed people posted saves online that you could download and play.
> Add ways in-game to make a portal to someone else's server... and you're making something really neat.
Pretty sure this has been a thing on modded (Java edition) servers for a long time now!
If I'm trying to tour one of the beautiful servers that people have made, yes, it absolutely would work for my use case.
I'm sorry my idea doesn't appeal to you.
Acting like it has no value for anyone means you don't understand my use case, or you don't care about me. It may entirely be my fault that you don't understand my use case, but I think you're being obstinate.
Yeah I mean whoever hosts the server can add some (tiny?) expenses to host a "static" version of their server. Though I'm not sure why spectator mode isn't sufficient.
Because player location, inventory, actions, are all load on the server. That's why servers have player limits.
> BitTorrent isn't going to work.
You and I are talking about different things. I'm talking about serving up the raw blocks alone.
And yes, I know, Minecraft servers don't support static file serving, or streaming from another source, or copy-on-write. I'm saying these are all nearly trivial to implement.