There is a rare bug that recently got triggered more often with the release of xMAC94x/netfixA if the bug triggeres, a Participant never gets cleaned up gracefully. Reason: When `participant_shutdown_mgr` was called it stopped all managers at once. Especially stream_close_mgr and send_mgr. The problem with stream_close_mgr is, it's responsible for gracefully flushing streams when the Participant is dropped locally. So when it was interupted self.streams where no longer flushed gracefully. The next problem was with send_mgr. It is triggering the PrioManager, and the PrioManager is responsible for notifying once a stream is completly flushed. This lead to the problem, that a stream flush could be requested, but was actually never executed (as send_mgr was already down). Solution: 1. when stream_close_mgr is stopped it MUST flush all remaining streams 2. wait for stream_close_mgr to finish before shutting down the send_mgr 3. no longer delete streams when closing the API (this also wasn't tracked in metrics so far) Additionally i added a dependency, so that the network/examples compile again, fixed some spelling. I created a `delete_stream` fn that basically just moved the code over. |
||
---|---|---|
.cargo | ||
.gitlab | ||
assets | ||
chat-cli | ||
client | ||
common | ||
network | ||
nix | ||
server | ||
server-cli | ||
tools | ||
voxygen | ||
world | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.rustfmt.toml | ||
.tokeignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
rust-toolchain |
Welcome To Veloren!
Veloren is a multiplayer voxel RPG written in Rust. Veloren takes inspiration from games such as Cube World, Minecraft and Dwarf Fortress. The game is currently under heavy development, but is playable.
Development
Currently the communication of contributors happens mainly on our official Discord server. You can join it to keep up with the development, talk to us or contribute something yourself. Anyone who shows genuine effort to help is welcome in our team. You don't have to know how to program to contribute!
Useful Links
Sign Up - Here you can create an online account for Veloren. This will be needed to play on auth-enabled servers, including the official server.
The Book - A collection of all important information relating to Veloren. It includes information on how to compile Veloren and how to contribute.
Future Plans - Go here for information about Veloren's development roadmap and what we're currently working on.
Official social media and websites
Get Veloren
We provide 64-bit builds for Linux, Mac, and Windows, which can be downloaded on the official website: https://www.veloren.net
Due to rapid developement stable versions become outdated fast and might be incompatible with the public server.
If you want to compile Veloren yourself, follow the instructions in our Book.
F.A.Q.
Q: How is this game licensed?
A: It's free to play, modify and distribute. Forever. Since it is a community project, we decided to license it under the GNU GPL 3.0 license which means it will always stay free and open source.
Q: What platforms are supported?
A: Veloren can run on Windows, Linux and Mac OS on all architectures (although x86_64 is our main focus). It's probably possible to compile Veloren on/for BSD, Fuchsia and others as well.
Q: Do you accept donations?
A: You can support the project on our OpenCollective Page.
Credit
Many thanks to everyone that has contributed to Veloren's development, provided ideas, crafted art, composed music, hunted bugs, created tools and supported the project.
Sponsorship
We are extremely proud to be sponsored by Digital Ocean.
Their support allows us to build and reliably power our shared backend services.