Heyho,
ich schreibe momentan ein ServerSigns Plugin und möchte auf diesem nun anzeigen, wenn das Spiel auf einem anderen Server im BungeeCord schon gestartet hat. Ich habe es schon per Motd probiert, allerdings wird ja das ServerListPingEvent natürlich nicht ausgelöst, wenn ich den Server per Plugin anpinge, weshalb ich nur die Motd aus den Properties bekomme :/
So sieht mein Code bisher aus:
Ich hoffe ihr könnt mir helfen
LG G.A.F ~ Mineworker08
ich schreibe momentan ein ServerSigns Plugin und möchte auf diesem nun anzeigen, wenn das Spiel auf einem anderen Server im BungeeCord schon gestartet hat. Ich habe es schon per Motd probiert, allerdings wird ja das ServerListPingEvent natürlich nicht ausgelöst, wenn ich den Server per Plugin anpinge, weshalb ich nur die Motd aus den Properties bekomme :/
So sieht mein Code bisher aus:
Javascript:
public void update(){
Socket s = new Socket();
try {
s.connect(new InetSocketAddress(ip, port), 1*1000);
DataOutputStream out = new DataOutputStream(s.getOutputStream());
DataInputStream in = new DataInputStream(s.getInputStream());
out.write(0xFE);
StringBuilder str = new StringBuilder();
int b;
while ((b = in.read()) != -1) {
if (b != 0 && b > 16 && b != 255 && b != 23 && b != 24) {
str.append((char) b);
}
}
String[] data = str.toString().split("§");
String motd = data[0];
int max = Integer.parseInt(data[2]);
int onlinePlayers = Integer.parseInt(data[1]);
if(motd.equals("Spiel bereits gestartet!")){
sign.setLine(0, "§4==============");
sign.setLine(1, "§cDas Spiel hat");
sign.setLine(2, "§cbereits begonnen!");
sign.setLine(3, "§4==============");
sign.update();
}else{
sign.setLine(0, "§1" + serverName);
sign.setLine(1, "");
sign.setLine(2, "§2" + onlinePlayers + "§1/§2" + max + "§1 Spieler");
sign.update();
}
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Ich hoffe ihr könnt mir helfen
LG G.A.F ~ Mineworker08