use of fr.glowstoner.fireapi.bigbrother.console.packets.PacketVersion in project FireAPI by FireBlade-Serv.
the class BungeeMain method onEnable.
@Override
public void onEnable() {
super.getLogger().info("FireAPI actif !");
this.sql.connection();
this.sql.startSqlRefreshScheduler(1800L);
this.sql.putConsole();
this.rank = new FireRank(this.sql);
super.getProxy().registerChannel("fireapi");
this.log = new BigBrotherLoginGetter();
try {
this.log.load();
} catch (Exception e1) {
e1.printStackTrace();
}
try {
ConnectionsAPI.init();
Client c = new Client("62.4.31.183", 2566);
c.start();
this.c = c;
ConnectionHandler ch = c;
ch.eval();
ch.sendPacket(new PacketLogin(this.log.getKey(), log.getPassword()));
ch.sendPacket(new PacketVersion(VersionType.BUNGEECORD_VERSION));
ch.sendPacket(new PacketCommand("name main-bungeecord"));
BigBrotherConnectionCheck check = new BigBrotherConnectionCheck(this, BigBrotherConnectionCheckType.GLOBAL_CHECK, BigBrotherConnectionInfos.builder().id("main-bungeecord").key(this.log.getKey()).password(this.log.getPassword()).versionType(VersionType.BUNGEECORD_VERSION).build());
check.startChecks();
this.setChecker(check);
} catch (Exception ex) {
BigBrotherConnectionCheck check = new BigBrotherConnectionCheck(this, BigBrotherConnectionCheckType.ERROR_CHECK, BigBrotherConnectionInfos.builder().id("main-bungeecord").key(this.log.getKey()).password(this.log.getPassword()).versionType(VersionType.BUNGEECORD_VERSION).build());
check.startChecks();
}
ConnectionsAPI.getListeners().registerClientListener(new ClientListener() {
@Override
public void onPacketReceive(Packet packet) {
if (packet instanceof PacketExecute) {
BungeeMain.super.getLogger().info("(BigBrother) Execution de la commande : " + ((PacketExecute) packet).getServerCommand() + ".");
BungeeMain.super.getProxy().getPluginManager().dispatchCommand(BungeeMain.super.getProxy().getConsole(), ((PacketExecute) packet).getServerCommand());
} else if (packet instanceof PacketPlayerPing) {
PacketPlayerPing pp = (PacketPlayerPing) packet;
BungeeMain.super.getProxy().getPlayer(pp.getName()).sendMessage(new TextComponent("§6[§ePing§6]§r Ton ping §eproxy§r est de §e" + BungeeMain.super.getProxy().getPlayer(pp.getName()).getPing() + " ms§r !"));
} else if (packet instanceof PacketBigBrotherAC) {
PacketBigBrotherAC gacp = (PacketBigBrotherAC) packet;
if (gacp.getType().equals(BigBrotherTypeAC.CHEAT_DETECTION)) {
if (gacp.getTODO().equals(BigBrotherActionAC.INFORM_STAFF)) {
for (ProxiedPlayer ps : getProxy().getPlayers()) {
if (api.getRankSystem().hasRankAndSup(ps.getName(), Rank.ASSISTANT)) {
ps.sendMessage(new TextComponent("§c[BigBrother] [Cheat] §4" + gacp.getPlayerName() + " §r~ " + gacp.getMessage() + " §c" + gacp.getPing() + "ms"));
}
}
}
}
}
}
});
this.friends = new FireFriends(this);
this.friends.initFolder();
try {
this.friends.loadConfiguration();
} catch (IOException e) {
e.printStackTrace();
}
this.auth = new FireAuth(this);
try {
this.auth.loadConfiguration();
} catch (IOException e) {
e.printStackTrace();
}
this.chat = new FireChat(this);
this.wl = new FireWL(this);
this.wl.loadConfiguration();
super.getLogger().info("Clé de sécurité utilisée : " + this.auth.getSecurityKey());
PluginManager man = super.getProxy().getPluginManager();
man.registerCommand(this, new CoinsCheckerCommand(this, "coins"));
man.registerCommand(this, new Website("site"));
man.registerCommand(this, new Discord("discord"));
man.registerCommand(this, new FriendsCommand(this, "amis"));
man.registerCommand(this, new FireRankCommand(this, "firerank"));
man.registerCommand(this, new RegisterCommand(this, "register"));
man.registerCommand(this, new LoginCommand(this, "login"));
man.registerCommand(this, new FireWhiteListCommand("firewl", this));
StaffChatCommand scc = new StaffChatCommand(this, "firestaffchat");
man.registerCommand(this, scc);
Events events = new Events(this, scc);
man.registerListener(this, events);
this.check.registerListener(events);
api = this;
}
use of fr.glowstoner.fireapi.bigbrother.console.packets.PacketVersion in project FireAPI by FireBlade-Serv.
the class BukkitMain method onEnable.
@Override
public void onEnable() {
super.getLogger().info("FireAPI actif !");
sql = new FireSQL();
this.sql.connection();
this.sql.startSqlRefreshScheduler(1800L);
this.sql.putConsole();
rank = new FireRank(this.sql);
this.chat = new FireChat(this);
this.tag = new FireTag(this);
this.tag.registerRanks();
FireBukkitID id = new FireBukkitID(this);
try {
id.loadConfiguration();
} catch (IOException | InvalidConfigurationException e1) {
e1.printStackTrace();
}
this.id = id.getID();
this.log = new BigBrotherLoginGetter();
try {
this.log.load();
} catch (Exception e1) {
e1.printStackTrace();
}
super.getLogger().info("ID serveur utilisé : " + this.id);
this.injector = new FireInjector();
this.ac = new BigBrotherAC(this);
this.ac.init();
this.ac.startKillAuraChecks((long) (30 * 20));
try {
ConnectionsAPI.init();
Client c = new Client("62.4.31.183", 2566);
c.start();
this.c = c;
ConnectionHandler ch = c;
ch.eval();
ch.sendPacket(new PacketLogin(this.log.getKey(), this.log.getPassword()));
ch.sendPacket(new PacketVersion(VersionType.SPIGOT_VERSION));
ch.sendPacket(new PacketCommand("name " + this.id));
BigBrotherConnectionCheck check = new BigBrotherConnectionCheck(this, BigBrotherConnectionCheckType.GLOBAL_CHECK, BigBrotherConnectionInfos.builder().id(this.id).key(this.log.getKey()).password(this.log.getPassword()).versionType(VersionType.SPIGOT_VERSION).build());
check.startChecks();
this.setChecker(check);
} catch (Exception ex) {
BigBrotherConnectionCheck check = new BigBrotherConnectionCheck(this, BigBrotherConnectionCheckType.ERROR_CHECK, BigBrotherConnectionInfos.builder().id(this.id).key(this.log.getKey()).password(this.log.getPassword()).versionType(VersionType.SPIGOT_VERSION).build());
check.startChecks();
}
ConnectionsAPI.getListeners().registerClientListener(new ClientListener() {
@Override
public void onPacketReceive(Packet packet) {
if (packet instanceof PacketExecute) {
BukkitMain.super.getServer().dispatchCommand(BukkitMain.super.getServer().getConsoleSender(), ((PacketExecute) packet).getServerCommand());
} else if (packet instanceof PacketFriends) {
PacketFriends pf = (PacketFriends) packet;
if (pf.getAction() instanceof FriendsActionTransmetterGUI) {
FriendsActionTransmetterGUI fa = (FriendsActionTransmetterGUI) pf.getAction();
if (fa.to().equals(VersionType.SPIGOT_VERSION)) {
FriendsActionInventoryGUI faig = new FriendsActionInventoryGUI(fa.getName(), fa.getFriends(), fa.getConnected());
faig.initPlayer(BukkitMain.this);
faig.generateInventory();
faig.openInventory();
}
}
}
}
});
Events events = new Events(this);
super.getServer().getPluginManager().registerEvents(events, this);
super.getServer().getPluginManager().registerEvents(new EventsAT(this), this);
this.check.registerListener(events);
super.getCommand("ping").setExecutor(new PingCommand(this));
super.getCommand("at").setExecutor(new AdminToolsCmd(this));
api = this;
}
use of fr.glowstoner.fireapi.bigbrother.console.packets.PacketVersion in project FireAPI by FireBlade-Serv.
the class BigBrotherListener method onPacketReceive.
@Override
public void onPacketReceive(Packet packet) {
try {
ConnectionHandler server = packet.getConnection();
String name = (server.getName().equals("default-name")) ? server.getIP() : server.getName();
if (!(packet instanceof PacketPing)) {
if (!(packet instanceof PacketSpyAction)) {
System.out.println("[BigBrother] Packet reçu : " + name + " -> " + packet.getClass().getSimpleName());
} else {
System.out.println("[BigBrother] Packet reçu : " + name + " -> " + packet.getClass().getSimpleName() + " / " + ((PacketSpyAction) packet).getAction().name());
}
}
if (server.isLogged().equals(LoginResult.NOT_LOGGED)) {
if (packet instanceof PacketLogin) {
PacketLogin pl = (PacketLogin) packet;
try {
String cpass = pl.decryptPass(this.log.getKey());
System.out.println("[BigBrother] PacketLogin reçu, valeur du PASS (crypt) : " + pl.getCryptPassword());
System.out.println("[BigBrother] PacketLogin reçu, valeur du PASS (D_key) : " + cpass);
if (cpass.equals(this.log.getPassword())) {
server.sendPacket(new PacketText("[BigBrother] Connection réussie !"));
server.setLoginResult(LoginResult.LOGGED);
listeners.callOnConnectionSuccessfullServerListener(server);
} else {
server.sendMessage("[BigBrother] Mot de passe incorect !");
if (limit.containsKey(server)) {
limit.replace(server, limit.get(server) + 1);
if (limit.get(server) == 3) {
server.sendPacket(new PacketText("[BigBrother] Trop de tentatives ratées ! Déconnexion ..."));
server.close();
}
} else {
limit.put(server, 1);
}
}
} catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException | IllegalBlockSizeException | BadPaddingException | IOException e) {
return;
}
} else {
server.sendPacket(new PacketText("[BigBrother] Vous devez vous connecter !"));
return;
}
}
if (packet instanceof PacketCommand) {
this.listeners.callOnCommandServerListener((PacketCommand) packet);
} else if (packet instanceof PacketVersion) {
PacketVersion ver = (PacketVersion) packet;
if (!this.connectionstype.containsKey(VersionType.SPIGOT_VERSION)) {
if (ver.getType().equals(VersionType.SPIGOT_VERSION)) {
List<ConnectionHandler> list = new CopyOnWriteArrayList<>();
list.add(server);
this.connectionstype.put(VersionType.SPIGOT_VERSION, list);
}
} else {
if (ver.getType().equals(VersionType.SPIGOT_VERSION)) {
List<ConnectionHandler> list = this.connectionstype.get(VersionType.SPIGOT_VERSION);
list.add(server);
this.connectionstype.replace(VersionType.SPIGOT_VERSION, list);
}
}
if (!this.connectionstype.containsKey(VersionType.BUNGEECORD_VERSION)) {
if (ver.getType().equals(VersionType.BUNGEECORD_VERSION)) {
List<ConnectionHandler> list = new CopyOnWriteArrayList<>();
list.add(server);
this.connectionstype.put(VersionType.BUNGEECORD_VERSION, list);
}
} else {
if (ver.getType().equals(VersionType.BUNGEECORD_VERSION)) {
List<ConnectionHandler> list = this.connectionstype.get(VersionType.BUNGEECORD_VERSION);
list.add(server);
this.connectionstype.replace(VersionType.BUNGEECORD_VERSION, list);
}
}
} else if (packet instanceof PacketFriends) {
PacketFriends pf = (PacketFriends) packet;
if (pf.getAction() instanceof FriendsActionTransmetterGUI) {
FriendsActionTransmetterGUI fa = (FriendsActionTransmetterGUI) pf.getAction();
if (fa.to().equals(VersionType.SPIGOT_VERSION)) {
for (ConnectionHandler chs : this.connected) {
if (chs.getName().equals(fa.getServerDestination())) {
chs.sendPacket(packet);
}
}
}
}
} else if (packet instanceof PacketPlayerPing) {
PacketPlayerPing pp = (PacketPlayerPing) packet;
if (pp.getState().equals(PingState.INIT_SERVER)) {
pp.setState(PingState.BUNGEE_REQUEST);
try {
this.getServerConnectionByNameUnsafe(VersionType.BUNGEECORD_VERSION, "main-bungeecord").sendPacket(pp);
} catch (IOException e) {
e.printStackTrace();
}
}
} else if (packet instanceof PacketSpyAction) {
PacketSpyAction spy = (PacketSpyAction) packet;
Calendar cal = GregorianCalendar.getInstance();
cal.setTime(new Date());
if (this.gs.ifDataFileExists(spy.getPlayerName())) {
this.gs.updateDataFile(spy.getPlayerName(), BigBrotherSpyUtils.mergeHistory(this.gs.getHistory(spy.getPlayerName()), spy));
} else {
BigBrotherSpyHistory gh = new BigBrotherSpyHistory(spy.getPlayerName(), spy.getIP(), BigBrotherSpyUtils.toFireCalendar(cal));
gh.putMessage(BigBrotherSpyUtils.toFireCalendar(spy.getActionDate()), spy.getAction(), spy.getFormatedMsg(), spy.getRawMsg());
this.gs.createNewDataFile(spy.getPlayerName(), gh);
}
} else if (packet instanceof PacketSpyHistoryGetter) {
PacketSpyHistoryGetter get = (PacketSpyHistoryGetter) packet;
if (get.getState().equals(BigBrotherSpyHistoryGetterState.REQUEST)) {
get.setState(BigBrotherSpyHistoryGetterState.SEND);
get.setHistory(this.gs.getHistory(get.getPlayerName()));
server.sendPacket(get);
}
} else if (packet instanceof PacketBigBrotherAC) {
PacketBigBrotherAC gacp = (PacketBigBrotherAC) packet;
if (gacp.getType().equals(BigBrotherTypeAC.CHEAT_DETECTION)) {
if (gacp.getTODO().equals(BigBrotherActionAC.INFORM_STAFF)) {
this.getServerConnectionByNameUnsafe(VersionType.BUNGEECORD_VERSION, "main-bungeecord").sendPacket(gacp);
}
}
}
} catch (Exception e) {
return;
}
}
use of fr.glowstoner.fireapi.bigbrother.console.packets.PacketVersion in project FireAPI by FireBlade-Serv.
the class BigBrotherConnectionCheck method connectionCheck.
public void connectionCheck() throws BigBrotherNotConnectedException {
try {
System.out.println("[FireAPI] Reconnection avec IP=" + this.client.getIP() + " et PORT=" + this.client.getPort());
this.client = new Client(this.client.getIP(), this.client.getPort());
this.client.start();
ConnectionHandler ch = (ConnectionHandler) this.client;
ch.sendPacket(new PacketLogin(this.infos.getKey(), this.infos.getPassword()));
ch.sendPacket(new PacketVersion(this.infos.getVersionType()));
ch.sendPacket(new PacketCommand("name " + this.infos.getId()));
this.api.setClient((Client) ch);
this.api.setChecker(this);
this.callListener(ch);
} catch (Exception ex) {
throw new BigBrotherNotConnectedException("Erreur sur l'envoi d'un packet (connection protocol) " + "ErreurClass = " + ex.getClass().getSimpleName() + ", " + ex.getMessage());
}
}
Aggregations