Show HN: Pumpkin, ein moderner Minecraft-Server, geschrieben in Rust
(github.com/Snowiiii)Pumpkin
Pumpkin ist ein vollständig in Rust entwickelter Minecraft-Server, der eine schnelle, effiziente und anpassbare Erfahrung bietet. Dabei stehen Leistung und Spielspaß im Vordergrund, ohne die Kernmechaniken des Spiels aus den Augen zu verlieren.
Was Pumpkin erreichen will
- Leistung: Nutzt Multithreading, um maximale Geschwindigkeit und Effizienz zu erzielen
- Kompatibilität: Unterstützt die neuesten Minecraft-Server-Versionen und hält sich an die grundlegenden Spielmechaniken
- Sicherheit: Stellt Sicherheit in den Vordergrund, indem bekannte Schwachstellen verhindert werden
- Flexibilität: Bietet hohe Konfigurierbarkeit, sodass unnötige Funktionen deaktiviert werden können
- Erweiterbarkeit: Schafft eine Grundlage für die Entwicklung von Plugins
Was Pumpkin nicht sein wird
- Kein Ersatz für Vanilla oder andere Server
- Nicht kompatibel mit Plugins oder Mods anderer Server
- Kein Framework, um Server von Grund auf neu aufzubauen
Wichtig: Pumpkin befindet sich derzeit in aktiver Entwicklung
Funktionen (in Arbeit)
- Konfiguration (
toml) - Serverstatus/Ping
- Login
- Spielereinstellungen
- Registry (Biomtypen, Gemälde, Dimensionen)
- Servermarke
- Serverlinks
- Resource-Pack-Einstellungen
- Cookies
- Welt
- Welt beitreten
- Spieler-Tabliste
- Welt laden
- Entities erzeugen
- Chunks laden
- Weltgenerierung
- Chunk-Generierung
- Weltgrenze
- Welt speichern
- Spieler
- Spielerskins
- Client-Marke des Spielers
- Spieler-Teleportation
- Spielerbewegung
- Spieleranimationen
- Spielerinventar
- Spielerkampf
- Server
- Plugins
- Query
- RCON
- Inventar
- Partikel
- Chat
- Befehle
- Proxy
- Velocity
Der aktuelle Fortschritt ist im GitHub-Projekt einsehbar.
Zusammenfassung von GN⁺
Pumpkin ist ein in Rust entwickelter Minecraft-Server, der durch seinen Fokus auf Leistung und Nutzererlebnis auffällt. Zu seinen Merkmalen zählen Performance-Optimierung durch Multithreading, verbesserte Sicherheit und Erweiterbarkeit für die Plugin-Entwicklung. Für Menschen, die sich für die Entwicklung von Minecraft-Servern interessieren, kann das nützlich sein. Da sich das Projekt derzeit in aktiver Entwicklung befindet, sind fortlaufende Updates zu erwarten. Ähnliche Projekte mit vergleichbaren Funktionen sind PaperMC und Spigot.
1 Kommentare
Hacker-News-Kommentare
Der Leistungsunterschied in den Benchmarks ist beeindruckend. Allerdings fehlen Welterzeugung und Speicherfunktionen, und das sind kostspielige Aufgaben. Besonders die Chunk-Generierung kann einen schwachen VPS in die Knie zwingen. Ich würde gern einen Leistungsvergleich sehen, wenn diese Funktionen enthalten und im Einsatz sind
Ich frage mich, ob es Benchmarks für dieses Projekt gibt. Ich würde gern wissen, wie viel schneller es als der Vanilla-Server ist
Als jemand, der dieses Projekt schon vorher kannte, freue ich mich, dass es auf Hacker News Aufmerksamkeit bekommt. (140 Upvotes sind meiner Meinung nach ziemlich gut)
Ich habe vor Kurzem Pumpkin entwickelt, einen effizienten und schnellen Minecraft-Server, der vollständig in Rust geschrieben ist. Schaut ihn euch an
Ich frage mich, ob der Main Thread in Regionen aufgeteilt wird (z. B. Paper Folia) oder ob nicht-blockierende Entitäten in eigene Threads ausgelagert werden
Beeindruckende Arbeit, aber ich würde gern eine performante Implementierung sehen, die viele Minecraft-Mods unterstützt. Forge-Server sind bei großen Modpacks berüchtigt langsam
Ich warte darauf, dass Minecraft mit seinem eigenen Protokoll rückentwickelt wird, sodass verschiedene Server- und Client-Implementierungen funktionieren
Ich werde dieses Projekt ausprobieren. Die Performance des reinen Vanilla-Servers ist wirklich sehr schlecht. Ich hoffe, Mojang verbessert das. Die Erzeugung neuer Chunks ist inzwischen zumindest multithreaded. Ich wünschte, grundlegende Steuerung für SMP-Server würde offiziell unterstützt. Schon einfache Berechtigungen wie für eine durch zwei Eckkoordinaten definierte Region (Platzieren, Abbauen, Interagieren) wären gut. Mit einer Basis-Konfigurationsdatei könnte man Anfragen/Updates mit anderen Tools verwalten. Im Spiel könnte man es mit einem einfachen Kommandozeilen-Utility betreiben. Es wäre gut, nicht immer nur Whitelists verwenden zu müssen. Paper/Waterfall usw. haben Plugins, aber es wäre schön, reines Vanilla beizubehalten. Ich betreibe seit Langem Server
Ich bin immer wieder erstaunt, wie Menschen so etwas schaffen können. Ich wäre dankbar für einen Artikel darüber, wie dieses Projekt entstanden ist