• 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!

Verbindung zwischen Mod und Spigot Plugin

h3inz3l

Schafhirte
Registriert
12 April 2013
Beiträge
132
Diamanten
0
Minecraft
h3inz3l
Hallo Community,

ich hatte die Idee für meinen Server ein optionales Modpack zu schreiben.
Hierbei soll das Mod vom ServerPlugin zum Beispiel Zahlencodes empfangen und diese dann Clientseitig abspielen.

Beispiel: ich klicke einen NPC an und dieser erzählt mir im Chat etwas. Spiele ich aber mit dem Mod soll Clientseitig eine Sounddatei abgespielt werden, die im Mod enthalten ist.

Hier ist jetzt meine Frage.

Gibt es eine Möglichkeit dies zu verbinden, ohne dass das Modpack Pflicht wird?

MFG h3inz3l aka Lucas
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Klar geht das. Du musst beim joinen erkennen, ob der Spieler die Mod installiert hat. Dafür könntest du z.B. den Client mit der Mod beim verbinden eine bestimmte Nachricht senden lassen können. Sobald der Server diese Nachricht bekommt weiß er, dass der Client das Plugin hat und kann dann z.B. eigene Netzwerkpakete übertragen. Alternativ kannst du auch am Ende der Textnachricht einfach mit Farbcodes eine Nummer codieren, die von der Mod erkannt wird und mit einer Liste von Nummern und Sounddateien verglichen wird um die korrekte Audiodatei zu finden. Obs das System schon fertig gibt weiß ich nicht, aber machbar ist das.
 

h3inz3l

Schafhirte
Registriert
12 April 2013
Beiträge
132
Diamanten
0
Minecraft
h3inz3l
Ok da ich mich noch nicht lange mit Mods beschäftigt habe. Forge oder ohne Modloader und mit eigenem Installer?
Bzw. Ist das alles mit Forge möglich, da ja Mods an sich für SinglePlayer ausgelegt sind...also sagen wir es so, wie erkenne ich, auf welchem Server ich jetzt joine vom Mod aus?
Außerdem hatte ich bis jetzt das Problem, dass Spigot den Mir einfach blockiert, also zum Beispiel lasse ich über den Mod eine simple GUI offenen , wenn ich links klicke. Im SinglePlayer kein Problem, aber auf einem Spigot Server passiert einfach nichts...
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Ich hab keine Ahnung von den Mod Schnittstellen, ich hab nur auf deine Frage geantwortet ob das möglich ist und dir erklärt, wie du das implementieren könntest. Wie du deinen Code jetzt in den Client bekommst bleibt dir überlassen.
 

JTK222

Threadripper
Registriert
5 September 2013
Beiträge
1.150
Diamanten
323
Minecraft
JTK222
Habe mal die Vermutung das du die gui Server seitig öffnest was auch richtig so ist.
Jedoch solltest du es client seitig öffnen falls der Server die mod nicht installiert haben sollte.
Das einzige Problem du wirst keine knöpfe etc. machen können(also z.B. knöpfe die einem ein Item geben sollen).
Falls du Geld etc. anzeigen möchtest empfehle ich dir den normalen Gui Screen renderer zu benutzen da der permanent angezeigt wird.
Ich glaube man kann bei mods auch so einstellen das sie client seitig keine pflicht sind jedoch musst du es dann so regeln dass der server dem Spieler keine Packete sendet wenn er deinen Mod bzw. Forge nicht installiert hat, dies sollte mit spigot jedoch relativ leicht gehen( also das mit Forge) Einzelne mods wirst du erst mit Sponge erkennen können.
Der Vorschlag das der client eine Chat nachricht an den Server sendet wenn er die Mod hat ist von daher gar nicht einmal so schlecht.
Hoffe konnte dir wenigstens ein wenig helfen wurde beim schreiben alle 2 min gestört und weiß nicht wie stark ich im Zusammenhang geblieben bin ^^

Falls du noch Hilfe brauchst kann ich dir erst heute Abend helfen.
Noch eine frage hast du bereits mit Mods gearbeitet?
 

ShareLock

Kuhfänger
Registriert
2 November 2011
Beiträge
66
Alter
58
Diamanten
0
Wo ist der offensichtliche (wenn auch hackige) weg einen Socket aufzumachen? Wenigstens schöner, als irgendwelche Nachrichten zu senden. Noch ein Vorteil: Es kann eingesehen werden, wer wie den Mod verwendet und er kann auf einen anderen Server umgezogen werden.
 

h3inz3l

Schafhirte
Registriert
12 April 2013
Beiträge
132
Diamanten
0
Minecraft
h3inz3l
Wo ist der offensichtliche (wenn auch hackige) weg einen Socket aufzumachen? Wenigstens schöner, als irgendwelche Nachrichten zu senden. Noch ein Vorteil: Es kann eingesehen werden, wer wie den Mod verwendet und er kann auf einen anderen Server umgezogen werden.

Hier muss ich jetzt komplett aussteigen :D

Wenn du mir erklären könntest, wie ich einen Socket verwenden kann, wäre ich dir extrem Dankbar.
VG h3inz3l
 
C

Cyrox

Guest
Beim Verbinden mit dem Server [Sollte es sicherlich Forge Events für geben] einfach einen weiteren Socket aufbauen zu serverip:TARGETPORT + 1 [Oder fix port oder was weiß ich] und dann auf neue events warten -> Eigener Thread bspw.

Man kann sich auch in den Fuß schießen, macht aber keiner weils schwachsinn ist.
Anstatt nen eigenen Socket zu öffnen nutzt man einfach den Socket von Minecraft mit:
http://www.minecraftforge.net/forum/index.php/topic,20135.0.html
 

ShareLock

Kuhfänger
Registriert
2 November 2011
Beiträge
66
Alter
58
Diamanten
0
macht aber keiner weils schwachsinn ist.
Die Qualität deiner Aussage musst du nicht auf meinen Vorschlag beziehen.

Klar kann Forge Packets verwenden. Ist vor allem toll, weil das Verhalten für Vanilla Clienten auf unbekannte Nachrichten auch so toll definiert ist.

Für diejenigen die übrigens lesen können:
Wo ist der offensichtliche (wenn auch hackige) weg einen Socket aufzumachen?

Wenn hier schon Leute mit der - vollkommen validen - Möglichkeit kommen dies mit Farbcodes zu dekodieren.
 
C

Cyrox

Guest

h3inz3l

Schafhirte
Registriert
12 April 2013
Beiträge
132
Diamanten
0
Minecraft
h3inz3l
Ok, da ich bereits mit BungeeCord und Spigot gearbeitet habe, ist mir jetzt klar, dass das gehen muss.
Nur bin ich bei Mods ein bisschen auf neuland gestoßen.

Wie registriere ich einen Channel und nutze einen Listener um die Messages vom Plugin zu empfangen?

//Edit - Habe es selber rausgefunden, aber vielen Dank an alle, die geholfen haben :)
 
Zuletzt bearbeitet:

h3inz3l

Schafhirte
Registriert
12 April 2013
Beiträge
132
Diamanten
0
Minecraft
h3inz3l
Also ich habe es mittlerweile hinbekommen daten vom Server an den Clienten zu schicken.

Allerdings habe ich ein Problem damit, daten vom Clienten an den Server zu schicken. Ich finde einfach keine Möglichkeit.

Ich habe es bereits über den NetworkWrapper von Forge versucht, allerdings bietet dieser keinerlei Methoden um Daten zu verschicken, sondern nur welche, um ein Listener zu registrieren, welcher die Daten empfängt.

Würde mich über hilfreiche Antworten freuen.

VG h3inz3l
 
Oben