在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):CleanstoneMC/Cleanstone开源软件地址(OpenSource Url):https://github.com/CleanstoneMC/Cleanstone开源编程语言(OpenSource Language):Java 98.6%开源软件介绍(OpenSource Introduction):Current StatePlease checkout Minestom since this Project is currently not maintained What is Cleanstone?The plan is to properly build a scalable Minecraft Server from scratch without the outdated code and single-threaded nature that Minecraft was created with. We dont just copy the vanilla server structure and refactor it. Instead we write it completely from scratch in our own way in which we focus on doing it right instead of keeping it close and similar to Vanilla Minecraft. Scalable: It should be expandable e.g. you can use multiple servers for a single Minecraft world and split the load over them. Maintainable: A proper event-driven code style with dependency injection and lots of useful abstraction e.g. the protocol (built-in multi-client-version support similar to ViaVersion/ViaBackwards) Multi-ThreadingCleanstone is multi-threaded by design since we are using multiple thread pools that balance the load of chunk loading, IO, etc. In the future we want to add the possibility to balance it across multiple servers as well. This is possible because we don't have a global tick loop that synchronizes all server actions but instead we outsource the work as modular services that can work asynchronously and are therefore scalable. FeaturesImplemented
TODO
InstallationRequirements
Instructions
No global Tick Loop?We will probably not be able to avoid a tick loop completely when we get to redstone, gravity, etc. since too many other systems directly depend on it and it would cause too many race conditions and delays to synchronize it all. Our trick here is to divide the world into independent regions that manage their entities and work by themselves using their own worker threads and their own independent tick loops or worker servers independent of other regions. However, tasks like pathfinding and entity movement can be completely asynchronous nonetheless since nothing else depends on them. API?Currently we aren't supporting Bukkit or Sponge since we simply need more features and fundamentals first but in the future we will add support for Bukkit and probably Sponge as well, however we wont integrate it into our code but keep it separate and map it to our own API. DiscordWe have a Discord! Join us here: https://discord.gg/Jx5kk3u LivedemoConnect to "demo.cleanstone.rocks" with Minecraft 1.12.2 - 1.14. The Server restarts from time to time with the latest changes. SponsorsWe are proudly using the YourKit Java Profiler to improve the performance and find high memory usage. Thank you for this amazing tool and we can fully recommend it to all Java developers! YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications. Banner created using JetBrains' amazing jb-rpd-splash code art generator (CC BY 4.0, https://creativecommons.org/licenses/by/4.0/) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论