feather-rs / feather

A Minecraft server implementation in Rust
Apache License 2.0
2.58k stars 143 forks source link

Request for changing the goals - to motivate contributors - to make the project thrive #505

Open nyvs opened 2 years ago

nyvs commented 2 years ago

Feature Request

Description

Make contributing to support for the latest minecraft versions possible and motivate contributors.

What problem does this solve? What need does it fill?

"Feather supports 1.16.5 clients and world saves. We do not currently have plans to support multiple versions at once, but we may consider this in the future." This is a major problem, as most people won't be motivated to contribute to something, that cannot be used in their use case. People are always looking to play the latest version, trying out the new stuff in minecraft, I'd suppose. By defining the goal to only support one outdated version, we are scaring away potential contributors.

Describe the solution you'd like

Define the goal to support all versions, with the newest ones preferred. Give people the clear indication that as soon as the fundamental feature set is complete + support for a specific version, they could use feather for their server as well. Even if work is done in a spotty fashion, we'd encourage people to work on this project, which will keep it alive, and maybe let it thrive far beyond that.

Iaiao commented 2 years ago

"We do not currently have plans to support multiple versions at once" is about supporting older versions (like 1.8-1.17, see #416), at the time of last change of README.md 1.16.5 was the newest stable version. We just haven't updated to 1.17.1 yet. There is some work on 1.17, but there's no PR and AFAIK no progress on this.

comblock commented 2 years ago

"We do not currently have plans to support multiple versions at once" is about supporting older versions (like 1.8-1.17, see #416), at the time of last change of README.md 1.16.5 was the newest stable version. We just haven't updated to 1.17.1 yet. There is some work on 1.17, but there's no PR and AFAIK no progress on this.

I agree but it is unclear for some people (as evident by this issue) so it might be a good idea to change the wording a bit.

stackotter commented 2 years ago

Other than just people who want hundreds of players, I can also see hosting companies loving feather, because they could host more servers with less resources.

Iaiao commented 2 years ago

I think hosting companies will hate feather because cheaper hardware will be enough for most server owners, and cheaper hardware = less profit

comblock commented 2 years ago

they would probably just keep the price the same but use cheaper hardware, if feather is feature complete someday the user is paying the same amount for the same experience and the hosting companies have to pay less for the hardware so their profit margin is higher.

Iaiao commented 2 years ago

But there would be some hosting companies that will set the price lower, and no one will buy the same hardware for higher price, that's all about competition.

comblock commented 2 years ago

Maybe, but lets be real, feather will probably never be feature complete because minecraft updates too fast.

stackotter commented 2 years ago

I feel like it would be possible for feather to be feature complete. A lot of the changes each year can be implemented without a heap of effort. Like some years all they add is new content (as in mobs and biomes and structures) which wouldn't be too hard to add with the right API. There is one guy, bixilon, who is making a client called Minosoft, and he currently supports every single protocol including snapshots (he did all that by hand in a week). But clients do have an easier time because all they have to do is rendering and moving and they don't add much new content in that sense each year.

timleg002 commented 2 years ago

Also it would be cool to consider adding support for Java plugins. i.e. emulating the Spigot/CraftBukkit API. Quill is certainly nice, but most of Minecraft plugins are in Java - and if we want more contributors & users, we should take that into consideration as well.

wyatt-herkamp commented 2 years ago

Versions don't matter right now. The issue is that until we have things such as physics and other fundamental components to the game the version it supports does not matter. I think we(you all. Hopefully me once I figure it out) should worry about getting a working product for a version and worry about getting the latest features done later.

stackotter commented 2 years ago

I agree, I think that staying up to date with the latest version is a bit of a time waste because it'll be easier to catch up later (probably). That's the approach I'm taking with my client too. It's still on 1.16.1

kubo6472 commented 2 years ago

If a tool like ViaVersion (VR/VB) & or ProtocolSupport will be able to be ported over to work in this scenario, I have no problem running a bit older server version, if it does not need to go through the 5 hoops from mojang to something I can use, with a lot of different configs and general mess.