Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request - Use Cuberite as a library to build Minecraft servers rather than using Cuberite as a Server #5471

Open
bruhmoment1111 opened this issue Jan 27, 2023 · 0 comments

Comments

@bruhmoment1111
Copy link

bruhmoment1111 commented Jan 27, 2023

Would it possible to have something similar to https://github.com/Minestom/Minestom project but with C++ instead, I want to use Cuberite as a library rather than writing plugins with Lua and using a precompiled binary load lua plugins. What would I want is use Cuberite as a framework to build a Minecraft server without using lua or anything else, Minecraft Server's code would be combine together (link) with Cuberite, idea is not having plugins at hall but everything combined together advantages would be a performance boost because there will be no time spent on loading & interpreting plugins instead code would directly invoke Cuberite functions through C++.

I hacked together a modified version of Cuberite that can (partially) do that but it isn't feasible at all since I lost all means of updating and I would have to manually patch things together which would be time consuming not to mention if a security vulnerability ends up being found it would take days to patch compared to just downloading off so I wish such feature baked in before.

I understand that Lua or any other scripting language makes this accessible to more broader audience but it isn't fun to work with scripting languages if you care about building a high performance server that can handle ~500 people in a 2gb VPS.

Whats even more important is there shouldn't be vanilla behavior like gravity or mobs and they should be all dead and needs to be coded by the person using it.

TL;DR: Would there be any way to make Minecraft servers without plugins or vanilla behavior but instead having a C++ library that can be used to build Minecraft server. Similar to https://github.com/Minestom/Minestom but in C++ instead. Having a scripting language has overhead in performance. Cuberite should have a switch to disable default vanilla behaviour such as mobs ai to give maximum flexibility to the developers who wants to work low level with it. If I wanted I should able to turn a cow into a monster, If I wanted I should able to not accept destroy block requests without using ad hoc techniques like cancelling existing behavior and overriding which is major cause of lag in spigot etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant