Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fire.meku.listen;
- import org.spacehq.mc.auth.data.GameProfile;
- import org.spacehq.mc.auth.exception.request.RequestException;
- import org.spacehq.mc.protocol.MinecraftProtocol;
- import org.spacehq.mc.protocol.MinecraftConstants;
- import org.spacehq.mc.protocol.data.SubProtocol;
- import org.spacehq.mc.protocol.ServerLoginHandler;
- import org.spacehq.mc.protocol.data.game.EntityMetadata;
- import org.spacehq.mc.protocol.data.game.Position;
- import org.spacehq.mc.protocol.data.game.values.MessageType;
- import org.spacehq.mc.protocol.data.game.values.PlayerListEntry;
- import org.spacehq.mc.protocol.data.game.values.entity.player.GameMode;
- import org.spacehq.mc.protocol.data.game.values.scoreboard.ScoreboardPosition;
- import org.spacehq.mc.protocol.data.game.values.setting.Difficulty;
- import org.spacehq.mc.protocol.data.game.values.world.WorldType;
- import org.spacehq.mc.protocol.data.game.values.world.block.BlockChangeRecord;
- import org.spacehq.mc.protocol.data.message.ChatColor;
- import org.spacehq.mc.protocol.data.message.ChatFormat;
- import org.spacehq.mc.protocol.data.message.Message;
- import org.spacehq.mc.protocol.data.message.MessageStyle;
- import org.spacehq.mc.protocol.data.message.TextMessage;
- import org.spacehq.mc.protocol.data.message.TranslationMessage;
- import org.spacehq.mc.protocol.data.status.PlayerInfo;
- import org.spacehq.mc.protocol.data.status.ServerStatusInfo;
- import org.spacehq.mc.protocol.data.status.VersionInfo;
- import org.spacehq.mc.protocol.data.status.handler.ServerInfoBuilder;
- import org.spacehq.mc.protocol.data.status.handler.ServerInfoHandler;
- import org.spacehq.mc.protocol.data.status.handler.ServerPingTimeHandler;
- import org.spacehq.mc.protocol.packet.handshake.client.HandshakePacket;
- import org.spacehq.mc.protocol.packet.ingame.client.ClientChatPacket;
- import org.spacehq.mc.protocol.packet.ingame.client.ClientKeepAlivePacket;
- import org.spacehq.mc.protocol.packet.ingame.client.player.ClientPlayerInteractEntityPacket;
- import org.spacehq.mc.protocol.packet.ingame.client.window.ClientWindowActionPacket;
- import org.spacehq.mc.protocol.packet.ingame.server.ServerChatPacket;
- import org.spacehq.mc.protocol.packet.ingame.server.ServerJoinGamePacket;
- import org.spacehq.mc.protocol.packet.ingame.server.ServerTitlePacket;
- import org.spacehq.mc.protocol.packet.ingame.server.entity.player.ServerPlayerPositionRotationPacket;
- import org.spacehq.mc.protocol.packet.login.client.LoginStartPacket;
- import org.spacehq.mc.protocol.packet.login.server.LoginDisconnectPacket;
- import org.spacehq.mc.protocol.packet.login.server.LoginSetCompressionPacket;
- import org.spacehq.mc.protocol.packet.login.server.LoginSuccessPacket;
- import org.spacehq.mc.protocol.packet.status.client.StatusPingPacket;
- import org.spacehq.mc.protocol.packet.status.client.StatusQueryPacket;
- import org.spacehq.mc.protocol.packet.status.server.StatusPongPacket;
- import org.spacehq.mc.protocol.packet.status.server.StatusResponsePacket;
- import org.spacehq.packetlib.Client;
- import org.spacehq.packetlib.Server;
- import org.spacehq.packetlib.Session;
- import org.spacehq.packetlib.event.server.ServerAdapter;
- import org.spacehq.packetlib.event.server.ServerBoundEvent;
- import org.spacehq.packetlib.event.server.SessionAddedEvent;
- import org.spacehq.packetlib.event.server.SessionRemovedEvent;
- import org.spacehq.packetlib.event.session.ConnectedEvent;
- import org.spacehq.packetlib.event.session.DisconnectedEvent;
- import org.spacehq.packetlib.event.session.PacketReceivedEvent;
- import org.spacehq.packetlib.event.session.PacketSentEvent;
- import org.spacehq.packetlib.event.session.SessionAdapter;
- import org.spacehq.packetlib.event.session.SessionListener;
- import org.spacehq.packetlib.packet.Packet;
- import org.spacehq.packetlib.tcp.TcpSessionFactory;
- import fire.meku.bots.Bot;
- import fire.meku.managers.BotManager;
- import fire.meku.managers.MacroManager;
- import fire.meku.managers.ProxyManager;
- import fire.meku.system.command.Cmd;
- import fire.meku.system.connect.JoinAddon;
- import fire.meku.system.messages.Config;
- import fire.meku.system.utils.Util;
- import java.awt.image.BufferedImage;
- import java.net.Proxy;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.List;
- @SuppressWarnings("unused")
- public class ProxyServer {
- private static String humanReadableByteCount(long bytes) {
- if (bytes < 1536L) {
- return bytes + " B";
- } else {
- int exp = (int) (Math.log((double) bytes) / Math.log(1536.0D));
- String pre = "KMGTPE".charAt(exp - 1) + "i";
- return String.format("%.2f %sB",
- (double) bytes / Math.pow(1024.0D, (double) exp), pre);
- }
- }
- private static final boolean SPAWN_SERVER = true;
- private static final boolean VERIFY_USERS = false;
- private static final String HOST = "0.0.0.0";
- private static final int PORT = 25565;
- private static final Proxy PROXY = Proxy.NO_PROXY;
- private static final Proxy AUTH_PROXY = Proxy.NO_PROXY;
- private static final String USERNAME = "MBot";
- private static final String PASSWORD = "Password";
- static boolean join = false;
- static int i = 0;
- private static int antiterminated = 0;
- public static String ID = JoinAddon.generateID(5);
- public static HashMap<String, String> users = new HashMap<>();
- public static List<Session> gracze = new ArrayList<>();
- public static List<Session> logins = new ArrayList<>();
- public static void main(String[] args) {
- users.put("koxlifeg", "adesskitoziomal");
- if (SPAWN_SERVER) {
- Server server = new Server(HOST, PORT, MinecraftProtocol.class,
- new TcpSessionFactory(PROXY));
- server.setGlobalFlag(MinecraftConstants.AUTH_PROXY_KEY,
- Proxy.NO_PROXY);
- server.setGlobalFlag(MinecraftConstants.VERIFY_USERS_KEY, false);
- server.setGlobalFlag(MinecraftConstants.SERVER_INFO_BUILDER_KEY,
- new ServerInfoBuilder() {
- @Override
- public ServerStatusInfo buildInfo(Session session) {
- return new ServerStatusInfo(
- new VersionInfo(
- MinecraftConstants.GAME_VERSION,
- MinecraftConstants.PROTOCOL_VERSION),
- new PlayerInfo(20, 0, new GameProfile[0]),
- new TextMessage(Config.Motd),null);
- }
- });
- server.setGlobalFlag(MinecraftConstants.SERVER_LOGIN_HANDLER_KEY,
- new ServerLoginHandler() {
- @Override
- public void loggedIn(Session s) {
- GameProfile profile = s.getFlag(MinecraftConstants.PROFILE_KEY);
- System.out.println(profile.getName() + " Podlaczyl sie do proxy");
- Util.sendMsg(s, "&a" + profile.getName() + " &cPodlaczyl sie do proxy");
- if (antiterminated != 0) {
- if (users.containsKey(profile.getName())) {
- gracze.add(s);
- for (Session sesja : gracze) {
- Util.sendMsg(sesja, profile.getName() + "&cDolaczyl do serwera proxy");
- }
- s.send(new ServerJoinGamePacket(0, false,GameMode.SURVIVAL, 0, Difficulty.PEACEFUL,10, WorldType.LARGE_BIOMES, false)); // USTAWIENIA WORLDA
- s.send(new ServerPlayerPositionRotationPacket(0,0,0,0,0));
- Util.sendTitle(s, Config.TitleLog);
- Util.sendSubTitle(s, Config.SubTitleLog);
- Util.sendMsgLOGIN(s, Config.Logged);
- s.send(new ServerTitlePacket(0, 35, 0));
- } else {
- Util.sendDisconnect(s, Config.Access);
- }
- } else {
- antiterminated++;
- }
- }
- });
- server.setGlobalFlag(
- MinecraftConstants.SERVER_COMPRESSION_THRESHOLD, 100);
- server.addListener(new ServerAdapter() {
- @Override
- public void sessionAdded(SessionAddedEvent event) {
- event.getSession().addListener(new SessionAdapter() {
- @Override
- public void packetReceived(PacketReceivedEvent event) {
- if (event.getPacket() instanceof ClientChatPacket) {
- ClientChatPacket packet = event.getPacket();
- GameProfile profile = event
- .getSession()
- .getFlag(MinecraftConstants.PROFILE_KEY);
- String[] vargs = packet.getMessage().split(" ");
- vargs[0] = vargs[0].toLowerCase();
- try {
- Cmd.check(vargs, event.getSession(), args);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- if (MacroManager.RECORDING) {
- if (!(event.getPacket() instanceof ClientChatPacket)) {
- MacroManager.packets.add(event.getPacket());
- MacroManager.MacroPackets++;
- MacroManager.MacroList++;
- if(MacroManager.MacroList == 100){
- MacroManager.MacroList = 0;
- Util.sendMsgMACRO(event.getSession(), Config.MacroAlready + MacroManager.MacroPackets);
- }
- } else {
- ClientChatPacket p = event.getPacket();
- if (!p.getMessage().contains(",macro")) {
- MacroManager.packets.add(event.getPacket());
- MacroManager.MacroPackets++;
- MacroManager.MacroList++;
- }
- }
- }
- if(BotManager.MOTHER == true){
- if (event.getPacket() instanceof ClientChatPacket) {
- ClientChatPacket p = event.getPacket();
- if (!p.getMessage().startsWith(",") && !p.getMessage().startsWith("@")) {
- Bot.sendPacket(event.getPacket());
- }//ClientPlayerInteractEntityPacket
- } else if (event.getPacket() instanceof ClientPlayerInteractEntityPacket) {} else if (event.getPacket() instanceof ClientWindowActionPacket) {
- ClientWindowActionPacket packet = event.getPacket();
- Bot.sendPacket(packet);
- } else {
- Bot.sendPacket(event.getPacket());
- }
- }
- if (JoinAddon.users.containsKey(event.getSession())) {
- if (event.getPacket() instanceof ClientChatPacket) {
- ClientChatPacket p = event.getPacket();
- if (!p.getMessage().startsWith(",") && !p.getMessage().startsWith("@")) {
- JoinAddon.sendPacket(event.getSession(), event.getPacket());
- }
- }else {
- JoinAddon.sendPacket(event.getSession(), event.getPacket());
- }
- }
- }
- });
- }
- });
- ProxyManager.loadProxies();
- server.bind();
- }
- status();
- login();
- }
- private static void status() {
- MinecraftProtocol protocol = new MinecraftProtocol(SubProtocol.STATUS);
- Client client = new Client(HOST, PORT, protocol, new TcpSessionFactory(
- PROXY));
- client.getSession().setFlag(MinecraftConstants.AUTH_PROXY_KEY,
- AUTH_PROXY);
- client.getSession().setFlag(MinecraftConstants.SERVER_INFO_HANDLER_KEY,
- new ServerInfoHandler() {
- @Override
- public void handle(Session session, ServerStatusInfo info) {
- System.out.println("meku-proxy by meku");
- }
- });
- client.getSession().setFlag(
- MinecraftConstants.SERVER_PING_TIME_HANDLER_KEY,
- new ServerPingTimeHandler() {
- @Override
- public void handle(Session session, long pingTime) {
- }
- });
- client.getSession().connect(true);
- while (client.getSession().isConnected()) {
- try {
- Thread.sleep(5);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- private static void login() {
- MinecraftProtocol protocol = null;
- if (VERIFY_USERS) {
- try {
- protocol = new MinecraftProtocol(USERNAME, PASSWORD, false);
- System.out.println("Successfully authenticated user.");
- } catch (RequestException e) {
- e.printStackTrace();
- return;
- }
- } else {
- protocol = new MinecraftProtocol(USERNAME);
- }
- Client client = new Client(HOST, PORT, protocol, new TcpSessionFactory(
- PROXY));
- client.getSession().setFlag(MinecraftConstants.AUTH_PROXY_KEY,
- AUTH_PROXY);
- client.getSession().addListener(new SessionAdapter() {
- public void packetReceived(PacketReceivedEvent event) {
- }
- @Override
- public void disconnected(DisconnectedEvent event) {
- gracze.remove(event.getSession());
- ProxyServer.logins.remove(event.getSession());
- if (event.getCause() != null) {
- event.getCause().printStackTrace();
- }
- }
- });
- client.getSession().connect();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement