Added section about the state of multiplayer

This commit is contained in:
Marc Gilleron 2021-08-01 18:46:58 +01:00
parent 070b621064
commit f86ed3dbaf
2 changed files with 11 additions and 0 deletions

View File

@ -23,6 +23,7 @@ nav:
- 'streams.md'
- 'instancing.md'
- 'editor.md'
- 'multiplayer.md'
- 'scripting.md'
- 'access_to_voxels_and_multithreading.md'
- 'module_development.md'

10
doc/source/multiplayer.md Normal file
View File

@ -0,0 +1,10 @@
Multiplayer
=============
Multiplayer is a planned feature still in design.
It is currently not possible to implement it efficiently with the script API, so C++ changes are required. Streams are also not suited for such a task because the use case is different. They require synchronous access, and networking is asynchronous.
The plans are to implement a server-authoritative design, where clients don't stream anything by themselves, and rather listen to what the server sends them. The server will only send modified blocks, while the others can be generated locally.
It is important for the `VoxelViewer` system to be functional before this gets implemented, as it guarantees that voxel volumes can be streamed by multiple users at once.