Draft:Pumpkin (Server)
Submission declined on 3 December 2024 by DoubleGrazing (talk). This submission is not adequately supported by reliable sources. Reliable sources are required so that information can be verified. If you need help with referencing, please see Referencing for beginners and Citing sources. This draft's references do not show that the subject qualifies for a Wikipedia article. In summary, the draft needs multiple published sources that are:
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
|
Submission declined on 2 December 2024 by WaddlesJP13 (talk). This submission is not adequately supported by reliable sources. Reliable sources are required so that information can be verified. If you need help with referencing, please see Referencing for beginners and Citing sources. This submission's references do not show that the subject qualifies for a Wikipedia article—that is, they do not show significant coverage (not just passing mentions) about the subject in published, reliable, secondary sources that are independent of the subject (see the guidelines on the notability of web content). Before any resubmission, additional references meeting these criteria should be added (see technical help and learn about mistakes to avoid when addressing this issue). If no additional references exist, the subject is not suitable for Wikipedia. Declined by WaddlesJP13 14 hours ago. |
Developer(s) | Alexander Medvedev |
---|---|
Repository | https://github.com/Snowiiii/Pumpkin |
Written in | Rust |
Platform | Cross-platform |
License | MIT |
Pumpkin is a free and open-source Minecraft server software written in the Rust programming language. It aims to provide a high-performance and efficient alternative to existing server software, while maintaining compatibility with the vanilla Minecraft experience.
Alexander Medvedev, known as Snowiiii on GitHub, initiated the development of Pumpkin as a personal project on July 28, 2024.[1]
Status
[edit]As of December 2, 2024, Pumpkin is still under active development and has not yet reached an official release.[2]
Features
[edit]Pumpkin aims to be fully compatible with the Vanilla Minecraft Client while adhering to the core mechanics of the game.[2]
Performance and Efficiency
[edit]Pumpkin is written in Rust, a programming language known for its performance and efficiency[3]. By compiling directly to machine code, Pumpkin avoids the overhead of a virtual machine like the Java Virtual Machine (JVM) and the frequent garbage collection pauses associated with Java[4]. This results in faster server performance, lower resource usage.[5]
Pumpkin is specifically designed as a server-side application, optimizing its Codebase for server-side operations. Unlike traditional Minecraft servers, which share code with the client, Pumpkin eliminates unnecessary client-side components, reducing memory footprint and improving performance. This focused approach allows Pumpkin to allocate more resources to core server tasks, resulting in a more efficient and responsive server environment.
Security
[edit]Rust's robust type system and ownership model [3]help prevent many common programming errors that can lead to security vulnerabilities[6]. This makes it more difficult for attackers to exploit common vulnerabilities like buffer overflows and memory leaks. Additionally, Rust's focus on memory safety and concurrency control contributes to a more secure and reliable server environment.[2][6]
Flexibility
[edit]Pumpkin offers a high degree of Configurability, allowing administrators to fine-tune the server's behavior to their specific needs. This includes the ability to disable unnecessary features and optimize resource usage. By tailoring the server to specific requirements, administrators can further improve performance and security.[2]
Extensibility
[edit]Pumpkin wants to provide a foundation for plugin development, This is still Work-In-Progress (WIP). More effort will be invested when Pumpkin implemented more Vanilla features[2]
How it works
[edit]Pumpkin and Minecraft Java both utilize the TCP protocol for network communication, exchanging packets between the server and clients[7]. However, Pumpkin employs the Tokio library for its networking layer, while Minecraft Java relies on Netty. To ensure compatibility with vanilla Minecraft clients, Pumpkin must implement all vanilla Minecraft packets to effectively process and respond to client requests and server-side updates.
References
[edit]- ^ "Commits · Snowiiii/Pumpkin". GitHub. Retrieved 2024-12-03.
- ^ a b c d e "Pumpkin/README.md at master · Snowiiii/Pumpkin". GitHub. Retrieved 2024-12-03.
- ^ a b "Rust Programming Language". www.rust-lang.org. Retrieved 2024-12-03.
- ^ "Java (programming language)", Wikipedia, 2024-11-24, retrieved 2024-12-03
- ^ "Rust VS Java benchmarks, Which programming language or compiler is faster". programming-language-benchmarks.vercel.app. Retrieved 2024-12-03.
- ^ a b "Networking". www.rust-lang.org. Retrieved 2024-12-03.
- ^ "Server/Client Communication". Technical Minecraft Wikia. Retrieved 2024-12-03.