Go to file
Marcel Märtens 9884019963 COMPLETE REDESIGN of network crate
- Implementing a async non-io protocol crate
    a) no tokio / no channels
    b) I/O is based on abstraction Sink/Drain
    c) different Protocols can have a different Drain Type
       This allow MPSC to send its content without splitting up messages at all!
       It allows UDP to have internal extra frames to care for security
       It allows better abstraction for tests
       Allows benchmarks on the mpsc variant
       Custom Handshakes to allow sth like Quic protocol easily
 - reduce the participant managers to 4: channel creations, send, recv and shutdown.
   keeping the `mut data` in one manager removes the need for all RwLocks.
   reducing complexity and parallel access problems
 - more strategic participant shutdown. first send. then wait for remote side to notice recv stop, then remote side will stop send, then local side can stop recv.
 - metrics are internally abstracted to fit protocol and network layer
 - in this commit network/protocol tests work and network tests work someway, veloren compiles but does not work
 - handshake compatible to async_std
2021-02-17 12:39:47 +01:00
.cargo Refactored loadout to have public functions for each slot instead of requiring callers to use the _INDEX consts 2021-01-08 19:12:09 +00:00
.github/workflows Added Action that will mirror the Gitlab repo to Github 2021-02-08 09:55:43 -05:00
.gitlab fix ci, which was broken by merging unittests and check 2021-01-23 23:05:24 +01:00
assets creating char_selection.ron plus minor portuguese fixes for better formal language (like olhos - eyes and not olho) 2021-02-17 08:28:04 +00:00
client COMPLETE REDESIGN of network crate 2021-02-17 12:39:47 +01:00
common Clean and update dependencies 2021-02-17 01:27:06 -08:00
network COMPLETE REDESIGN of network crate 2021-02-17 12:39:47 +01:00
nix Ori: add tests, rename to_vec() => look_vec(); Dir: add methods, normalize on rot 2021-02-09 13:52:03 +01:00
plugin fix clippy in all examples. 2021-01-13 15:06:04 +01:00
server COMPLETE REDESIGN of network crate 2021-02-17 12:39:47 +01:00
server-cli get rid of async_std::channel 2021-02-17 12:38:53 +01:00
voxygen COMPLETE REDESIGN of network crate 2021-02-17 12:39:47 +01:00
world Clean and update dependencies 2021-02-17 01:27:06 -08:00
.dockerignore - Load characters after login. 2020-05-09 15:41:25 +00:00
.gitattributes Added .tar to LFS extensions 2020-12-13 17:15:33 +00:00
.gitignore nix: add envrc and envrc-nvidia file for auto dev env setup with direnv 2020-11-30 23:51:05 +03:00
.gitlab-ci.yml running cargo check with -D warnings seems to trigger a complete cache invalidation. 2021-01-12 01:15:13 +01:00
.mailmap Added a .mailmap file to unify my name in commits made with my email address 2021-01-15 00:19:47 +01:00
.rustfmt.toml Workaround for rustfmt bug that affects waylands source generation in clean builds 2020-02-03 18:34:52 +00:00
.tokeignore Added tokeignore for Cargo.nix 2020-07-02 12:14:01 -04:00
Cargo.lock COMPLETE REDESIGN of network crate 2021-02-17 12:39:47 +01:00
Cargo.toml COMPLETE REDESIGN of network crate 2021-02-17 12:39:47 +01:00
CHANGELOG.md Merge branch 'master' into 'ada/improve-controller-bindings' 2021-02-16 15:30:46 +00:00
CONTRIBUTING.md Add CONTRIBUTING 2019-05-17 01:34:07 +00:00
flake.lock nix: update README, remove nixGL selection from dev shell (which also removes envrc-nvidia), update envrc to be used by both flakes, tidy up some stuff 2020-12-12 17:10:54 +03:00
flake.nix nix: update README, remove nixGL selection from dev shell (which also removes envrc-nvidia), update envrc to be used by both flakes, tidy up some stuff 2020-12-12 17:10:54 +03:00
LICENSE Update Veloren license year 2020-05-22 08:05:10 -04:00
README.md adjust path to veloren account page 2020-11-09 09:21:14 +01:00
rust-toolchain switch toolchain to nightly-2021-01-01 2021-01-03 21:31:21 +01:00

Veloren logo on a screenshot

pipeline status coverage report license discord lines of code

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!

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.