• Bitte beachte, dass wir eine Serverliste sind!
    Wenn du ein Problem auf einem Server hast (z.B. Entbannantrag, etc), dann ist das Forum hier der falsche Ort.
  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Beta System für eigenen Minecraft Client | Wie geht das?

Minecraft Version
Java

JuniorWMG

Minecrafter
Registriert
3 August 2019
Beiträge
3
Diamanten
299
Minecraft
junior_Feuerwolf
Hey,

Ich programmiere freizeitlich einen Minecraft Client für Freunde und allem und möchte ihn später öffentlich machen.

Das Problem:
Der Client ist in der Beta und soll nur für Personen mit Beta Key zugänglich seien.
Kann mir jemand sagen wie ich das zu machen habe oder mir Source Code zu einem solchen System senden?

MfG
Junior aus den Ferien
 

TrinityX

Redstoneengineer
Registriert
17 Mai 2020
Beiträge
47
Alter
23
Diamanten
337
Minecraft
NichtTrinity
Moin @Junior FeuerwolfTV ,

Ganz simpel erklärt könntest du das folgendermaßen umsetzen.
Der User wird beim erstmaligem Start aufgefordert seinen Zugangsschlüssel einzugeben. Diesen prüfst du auf seine Gültigkeit z.B. über eine Datenbank, welche alle gültigen Schlüssel enthält (Am besten verschlüsselt, damit niemand die so einfach auslesen kann).
Sofern dieser gefunden wurde UND noch nicht benutzt wurde, gewähre dem User Zugang zum Client.
Wie oben bereits erwähnt ist das nur eine sehr simple Erklärung. Die Implementation überlasse ich dir.

Mit freundlichen Grüßen,
Trinity :)
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
442
Diamanten
228
Zuerst einmal eine Anmerkung:
Einen eigenen Minecraft-Client zu programmieren ist soweit zwar eine nette Idee, aber in meinen Augen total unnötig. Wenn dir bestimmte Funktionen im Client nicht ausreichend sind, kannst du mit Forge oder Fabric neue Mods hinzufügen und das bestehende Verhalten ändern. Zudem solltest du bei einem eigenen Client aufpassen, welche Quellen du für Grafiken nutzt, nicht dass du da am Ende von Mojang wegen Urheberrechtsverletzungen belangt wirst.

Dann noch eine weitere Anmerkung:
Wenn du deinen Client nur einer begrenzten Personenzahl zum Testen geben möchtest bzw. diesen Client öffentlich zur Verfügung stellen möchtest, solltest du auch wissen, wie man so ein System selbst programmiert und wie man das sicher macht. Ich bin mir sicher, dass es auch genug Lizenz-Implementierungen auf Java-Basis im WWW gibt, allerdings müsstest du diese Suchen und du müsstest selbst wissen, was du dort überhaupt haben möchtest.

Zu dem Beitrag von @TrinityX :
Ja, irgendwie so könnte man das umsetzen. Aber eine zentrale Datenbank führt zu einer interessanten Angriffsstelle und setzt eine zentrale Infrastruktur voraus. Zum einen benötigt man dann einen Aperat wie den Mojang/Microsoft Loginserver, der durchaus auch mal ausfällt, zum anderen muss man dieses System auch entsprechend härten.

Zu der tatsächlichen Umsetzung:
Ich würde tatsächlich eine Implementierung wählen, bei der du eine solche Lizenz entsprechend signierst. Dabei hast du einen Private Key bei dir, den du zur Signatur der Lizenzen benutzt. Im Client hast du dann den Public Key als Ressource hinterlegt und prüfst dann die Lizenz auf Gültigkeit. Gleichzeitig kannst du dann in der Lizenz auch ein Enddatum für den Betatester festlegen, wonach der Client das Starten verweigert. Durch die Signatur kann man nicht einfach das Datum als Anwender ändern und gleichzeitig brauchst du auch keinen Internetanschluss und zentrale Infrastruktur.

Mehr werde ich dir dazu allerdings nicht sagen. Zum einen bin ich selbst kein Experte in dem Thema, zum anderen solltest du bei so einem komplexen Thema selbst wissen, wie du so eine Implementierung aufbaust.
 
Oben