Skip to content

Commit eecb18e

Browse files
authored
Update README.md
1 parent e32b36d commit eecb18e

1 file changed

Lines changed: 21 additions & 20 deletions

File tree

README.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
11

2-
Installation information
3-
=======
2+
About This Project
43

5-
This template repository can be directly cloned to get you started with a new
6-
mod. Simply create a new repository cloned from this one, by following the
7-
instructions at [github](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).
4+
Minecraft faces a scalability issue: as the number of players increases, performance quickly degrades.
85

9-
Once you have your clone, simply open the repository in the IDE of your choice. The usual recommendation for an IDE is either IntelliJ IDEA or Eclipse.
6+
This is fundamentally a scaling problem. As more clients connect, the number of chunk loading requests rises accordingly. This forces the main game thread to manage an increasing number of Entities, BlockEntities, and BlockUpdates, while also handling more requests for generating Chunks that haven't yet been created.
107

11-
> **Note**: For Eclipse, use tasks in `Launch Group` instead of ones founds in `Java Application`. A preparation task must run before launching the game. NeoGradle uses launch groups to do these subsequently.
8+
The problem can be solved by distributing the load across multiple systems.
129

13-
If at any point you are missing libraries in your IDE, or you've run into problems you can
14-
run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything
15-
{this does not affect your code} and then start the process again.
10+
To address this, the system should follow these key principles:
1611

17-
Mapping Names:
18-
============
19-
By default, the MDK is configured to use the official mapping names from Mojang for methods and fields
20-
in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this
21-
license. For the latest license text, refer to the mapping file itself, or the reference copy here:
22-
https://github.com/NeoForged/NeoForm/blob/main/Mojang.md
12+
- Each server should be solely responsible for managing a specific section of the world.
2313

24-
Additional Resources:
25-
==========
26-
Community Documentation: https://docs.neoforged.net/
27-
NeoForged Discord: https://discord.neoforged.net/
14+
- The system must handle seamless player transfers between servers, without the client being aware of the change.
15+
16+
- The client should continue to receive all game information as if connected to a single server, even though that data may be distributed across multiple servers.
17+
18+
The Minecraft world is dividen in a ring configuration, each ring is handled by only one server
19+
20+
<img width="501" height="484" alt="anillos" src="https://github.com/user-attachments/assets/b82bb872-19be-4c9a-9b56-30bdfe7d4b5d" />
21+
22+
Player and entities can seamlesly transfer between servers.
23+
24+
//GiF
25+
26+
The next image shows a wide view of architecture of the solution.
27+
28+
<img width="1692" height="754" alt="arquitectura-detallada" src="https://github.com/user-attachments/assets/07a3007f-21bc-41e7-ab1d-047b56b9d01a" />

0 commit comments

Comments
 (0)