SteamWar/BungeeCore
Archiviert
13
2

Teamserver #344

Zusammengeführt
Lixfel hat 15 Commits von Teamserver nach master 2022-04-23 12:17:05 +02:00 zusammengeführt
3 geänderte Dateien mit 65 neuen und 0 gelöschten Zeilen
Nur Änderungen aus Commit b8a3512643 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -85,6 +85,7 @@ public class BungeeCore extends Plugin {
new WorldDownloader();
new BrandListener();
new Fabric();
new SubserverProtocolFixer();
new Node.LocalNode();
//new Node.RemoteNode("lx");

Datei anzeigen

@ -0,0 +1,63 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.bungeecore.listeners;
import io.github.waterfallmc.waterfall.utils.UUIDUtils;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.event.LoginEvent;
import net.md_5.bungee.connection.InitialHandler;
import net.md_5.bungee.connection.LoginResult;
import net.md_5.bungee.event.EventHandler;
import net.md_5.bungee.util.AddressUtil;
import java.lang.reflect.Field;
import java.net.InetSocketAddress;
public class SubserverProtocolFixer extends BasicListener {
private final InetSocketAddress inetSocketAddress = new InetSocketAddress("127.127.127.127", 25565);
private Field field;
{
try {
field = InitialHandler.class.getDeclaredField("extraDataInHandshake");
field.setAccessible(true);
} catch (Exception e) {
BungeeCord.getInstance().stop();
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Chrm!

Chrm!
Veraltet
Review

Ignorieren würde ich den Fehler nicht (ist schließlich wichtig, d.h. BungeeCore.get().getLogger().log(SEVERE)), und Warum zum Henker Exception?

Ignorieren würde ich den Fehler nicht (ist schließlich wichtig, d.h. BungeeCore.get().getLogger().log(SEVERE)), und Warum zum Henker Exception?
}
}
@EventHandler
public void loginEvent(LoginEvent e) {
System.out.println(e);
YoyoNow markierte diese Unterhaltung als gelöst
Review

Naja

Naja
InitialHandler initialHandler = ((InitialHandler) e.getConnection());
LoginResult.Property[] properties = initialHandler.getLoginProfile().getProperties();
try {
String extraData = "\00" + AddressUtil.sanitizeAddress(inetSocketAddress) + "\00" + UUIDUtils.undash(initialHandler.getUniqueId().toString());
if (properties.length > 0) {
extraData += "\00" + BungeeCord.getInstance().gson.toJson(properties);
}
field.set(initialHandler, extraData);
Lixfel markierte diese Unterhaltung als gelöst
Review

Geht das nicht ohne Reflection?

Geht das nicht ohne Reflection?
Review

Ne leider nicht. Es gibt keine .setExtraData()

Ne leider nicht. Es gibt keine .setExtraData()
} catch (Exception ex) {
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Same hier wie oben.

Same hier wie oben.
BungeeCord.getInstance().stop();
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Joa, definitiv ready für live-Betrieb.

Joa, definitiv ready für live-Betrieb.
}
}
}

Datei anzeigen

@ -467,6 +467,7 @@ TEAM_SERVER_USAGE=§8/§7team server §8[§eIP/Address§8] §8(§7Port§8) §8-
TEAM_SERVER_SET=§7Du hast die Teamserveradresse geändert§8!
TEAM_SERVER_PORT_INVALID=§cDer Port muss eine Zahl sein.
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Eher unmögliche Portnummer als "Zahl" weil -1 ist auch eine Zahl und dennoch invalide...

Eher unmögliche Portnummer als "Zahl" weil -1 ist auch eine Zahl und dennoch invalide...
TEAM_NO_ADDRESS=§cTeamserveradresse nicht gesetzt.
TEAM_TP_NO_TEAM=§cUnbekanntes Team.
#TpCommand
TP_USAGE=§8/§7tp §8[§eSpieler§8]