Skip to main content

A simple package to make creating Minecraft launchers easier.

Project description

Easy MC Launcher

Ein simples Python-Package, um ohne Kopfschmerzen eigene Minecraft-Launcher zu programmieren.

Wenn du schon mal versucht hast, einen Minecraft-Launcher von Grund auf neu zu schreiben, kennst du wahrscheinlich die Probleme: Man muss sich mit verschiedenen Java-Versionen herumschlagen, komplexe JSON-Dateien von Mojang parsen, gigantische Start-Parameter generieren und die Installation von Forge oder Fabric ist oft ein Albtraum.

Dieses Package ist ein intelligenter Wrapper um die Bibliothek minecraft-launcher-lib. Es versteckt die ganze komplizierte Logik und bietet dir einfach zu verstehende Befehle. Du sagst im Code einfach "Installiere Fabric" oder "Starte das Spiel und joine Server X", und das Package kümmert sich um den Rest.

Installation

pip install easy-mc-launcher

Code-Beispiele & Dokumentation

1. Die Basics: Vanilla Minecraft starten

Um das Spiel zu starten, musst du nur den Launcher initialisieren, grundlegende Einstellungen wie den RAM festlegen und die Start-Funktion aufrufen. Wenn Dateien oder Assets auf dem PC des Nutzers fehlen, lädt das Package sie automatisch von den Mojang-Servern herunter.

from easy_mc_launcher import EasyLauncher, SettingsManager

# Der SettingsManager speichert alle Einstellungen automatisch in einer launcher_settings.json Datei
settings = SettingsManager()
settings.set("username", "Notch")
settings.set("ram_max", "4G")

# Hauptklasse initialisieren
launcher = EasyLauncher()

# Lädt alles Nötige herunter und startet Minecraft 1.20.1
launcher.launch("1.20.1", settings)

2. Direkt auf einen Server verbinden

Wenn du einen Launcher für deinen eigenen Minecraft-Server baust, möchtest du wahrscheinlich, dass sich das Spiel beim Starten automatisch mit deinem Server verbindet. Das geht über die Launch-Parameter.

from easy_mc_launcher import EasyLauncher, SettingsManager

launcher = EasyLauncher()
settings = SettingsManager()

# Startet das Spiel und wirft den Spieler direkt auf den angegebenen Server
launcher.launch("1.20.1", settings, server_ip="mc.hypixel.net", server_port=25565)

3. Automatisch das richtige Java herunterladen

Ein sehr häufiges Problem bei Custom Launchern ist, dass Spieler nicht das richtige Java installiert haben (alte Versionen brauchen Java 8, neue Versionen Java 17 oder 21). Du kannst das exakt richtige Java einfach von Mojang in den lokalen .minecraft-Ordner laden lassen.

from easy_mc_launcher import EasyLauncher

launcher = EasyLauncher()

# Prüft, welches Java für 1.20.1 benötigt wird und lädt es herunter
launcher.install_java("1.20.1")

4. Forge oder Fabric installieren

Einen Modloader über reinen Code zu installieren, ist normalerweise extrem aufwendig. Hier reicht ein einziger Befehl.

from easy_mc_launcher import EasyLauncher, SettingsManager

launcher = EasyLauncher()
settings = SettingsManager()

# Installiert Fabric und gibt den Namen des neuen Profils zurück 
# (z.B. 'fabric-loader-0.15.7-1.20.1')
fabric_version = launcher.install_fabric("1.20.1")

# Für Forge gibst du stattdessen die MC-Version und die Forge-Version an:
# forge_version = launcher.install_forge("1.20.1-47.1.0")

# Startet das Spiel mit dem neu installierten Modloader
launcher.launch(fabric_version, settings)

5. Mods per Code verwalten

Du kannst Mods dynamisch herunterladen, aktivieren, deaktivieren oder löschen. Das ist extrem nützlich, wenn du ein eigenes Modpack automatisch updaten willst, sobald der User den Launcher öffnet.

from easy_mc_launcher import EasyLauncher, ModManager

launcher = EasyLauncher()

# ModManager für den aktuellen Minecraft-Ordner initialisieren
mods = ModManager(launcher.minecraft_directory)

# Eine Mod über einen direkten Download-Link (z.B. von Modrinth) in den /mods Ordner laden
mods.download_mod("https://link-zur-mod.jar", "meine_mod.jar")

# Eine Mod deaktivieren (benennt sie in .jar.disabled um, sodass das Spiel sie beim Start ignoriert)
mods.disable_mod("meine_mod.jar")

# Die Mod wieder aktivieren
mods.enable_mod("meine_mod.jar")

# Liste aller aktiven Mods anzeigen
print("Aktive Mods:", mods.get_installed_mods())

6. Resource Packs verwalten

Genau wie bei den Mods kannst du auch Texturenpakete verwalten.

from easy_mc_launcher import EasyLauncher, ResourcePackManager

launcher = EasyLauncher()
packs = ResourcePackManager(launcher.minecraft_directory)

# Ein Texturenpaket direkt als ZIP in den richtigen Ordner herunterladen
packs.download_pack("https://link-zum-pack.zip", "MeinTexturenpaket.zip")

7. Versionen aufräumen & suchen

Du kannst alte Versionen löschen, um Speicherplatz auf dem PC der Nutzer freizumachen, oder einfach die allerneuste Version suchen, wenn du immer auf dem aktuellsten Stand sein willst.

from easy_mc_launcher import EasyLauncher

launcher = EasyLauncher()

# Gibt die aktuellste Vanilla-Release-Version zurück (z.B. '1.20.4')
print(launcher.get_latest_release())

# Löscht eine bestimmte Version komplett von der Festplatte
launcher.delete_version("1.19.2")

Die Einstellungen im Detail (SettingsManager)

Der SettingsManager ist dafür da, dass du dich nicht selbst um das Lesen und Schreiben von JSON-Dateien kümmern musst. Folgende Keys werden aktuell unterstützt:

  • "username": Der Ingame-Name des Spielers.
  • "uuid": Die Spieler-UUID. Wenn du diesen Key weglässt, generiert das Package automatisch eine saubere Offline-UUID aus dem Benutzernamen. Das hilft dabei, dass Skins auf manchen Offline-Servern richtig geladen werden.
  • "ram_min": Der minimal reservierte Arbeitsspeicher (z.B. "1G").
  • "ram_max": Der maximal reservierte Arbeitsspeicher (z.B. "4G").
  • "resolution": Die Fenstergröße beim Start (Standard: {"width": 854, "height": 480}).
  • "show_logs": Wenn du das auf True setzt, werden die Live-Logs von Minecraft direkt in dein Python-Terminal gestreamt. Hilft extrem bei der Fehlersuche, wenn das Spiel mal abstürzt.
  • "java_path": Optional. Hier kannst du den absoluten Pfad zu einer eigenen javaw.exe erzwingen. Wenn du das leer lässt, sucht das Package selbst nach der besten Java-Version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easy_mc_launcher-0.4.1.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easy_mc_launcher-0.4.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file easy_mc_launcher-0.4.1.tar.gz.

File metadata

  • Download URL: easy_mc_launcher-0.4.1.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for easy_mc_launcher-0.4.1.tar.gz
Algorithm Hash digest
SHA256 267754c37a38307e8dd965b7f7146040a3dcb818d0b2ffdbfdf0d2908784c1bf
MD5 0cbd2589090e106876b6f5a117e92d46
BLAKE2b-256 2e16761e3b129ac3b9face3902d9ad5db627073bcaa7bac29ddfb293e630117d

See more details on using hashes here.

File details

Details for the file easy_mc_launcher-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for easy_mc_launcher-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f04643d65ccc3f7009ad50f5c8dce6f73ec0c8b50833ccf3cf347c141a2b6b7d
MD5 c4a061ff48c553e6c7d7ab42031c7173
BLAKE2b-256 8fd9b2650b0e6fc2db9910e4da83b981c8ed834204cebb78824c6c9d316d670f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page