Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.50 KB | None | 0 0
  1. package pl.koxlifeg.proxy.listen;
  2.  
  3. import org.spacehq.mc.auth.data.GameProfile;
  4. import org.spacehq.mc.auth.exception.request.RequestException;
  5. import org.spacehq.mc.protocol.MinecraftProtocol;
  6. import org.spacehq.mc.protocol.MinecraftConstants;
  7. import org.spacehq.mc.protocol.data.SubProtocol;
  8. import org.spacehq.mc.protocol.ServerLoginHandler;
  9. import org.spacehq.mc.protocol.data.game.EntityMetadata;
  10. import org.spacehq.mc.protocol.data.game.Position;
  11. import org.spacehq.mc.protocol.data.game.values.MessageType;
  12. import org.spacehq.mc.protocol.data.game.values.PlayerListEntry;
  13. import org.spacehq.mc.protocol.data.game.values.entity.player.GameMode;
  14. import org.spacehq.mc.protocol.data.game.values.scoreboard.ScoreboardPosition;
  15. import org.spacehq.mc.protocol.data.game.values.setting.Difficulty;
  16. import org.spacehq.mc.protocol.data.game.values.world.WorldType;
  17. import org.spacehq.mc.protocol.data.game.values.world.block.BlockChangeRecord;
  18. import org.spacehq.mc.protocol.data.message.ChatColor;
  19. import org.spacehq.mc.protocol.data.message.ChatFormat;
  20. import org.spacehq.mc.protocol.data.message.Message;
  21. import org.spacehq.mc.protocol.data.message.MessageStyle;
  22. import org.spacehq.mc.protocol.data.message.TextMessage;
  23. import org.spacehq.mc.protocol.data.message.TranslationMessage;
  24. import org.spacehq.mc.protocol.data.status.PlayerInfo;
  25. import org.spacehq.mc.protocol.data.status.ServerStatusInfo;
  26. import org.spacehq.mc.protocol.data.status.VersionInfo;
  27. import org.spacehq.mc.protocol.data.status.handler.ServerInfoBuilder;
  28. import org.spacehq.mc.protocol.data.status.handler.ServerInfoHandler;
  29. import org.spacehq.mc.protocol.data.status.handler.ServerPingTimeHandler;
  30. import org.spacehq.mc.protocol.packet.handshake.client.HandshakePacket;
  31. import org.spacehq.mc.protocol.packet.ingame.client.ClientChatPacket;
  32. import org.spacehq.mc.protocol.packet.ingame.client.ClientKeepAlivePacket;
  33. import org.spacehq.mc.protocol.packet.ingame.client.player.ClientPlayerInteractEntityPacket;
  34. import org.spacehq.mc.protocol.packet.ingame.client.window.ClientWindowActionPacket;
  35. import org.spacehq.mc.protocol.packet.ingame.server.ServerChatPacket;
  36. import org.spacehq.mc.protocol.packet.ingame.server.ServerJoinGamePacket;
  37. import org.spacehq.mc.protocol.packet.ingame.server.ServerTitlePacket;
  38. import org.spacehq.mc.protocol.packet.ingame.server.entity.player.ServerPlayerPositionRotationPacket;
  39. import org.spacehq.mc.protocol.packet.login.client.LoginStartPacket;
  40. import org.spacehq.mc.protocol.packet.login.server.LoginDisconnectPacket;
  41. import org.spacehq.mc.protocol.packet.login.server.LoginSetCompressionPacket;
  42. import org.spacehq.mc.protocol.packet.login.server.LoginSuccessPacket;
  43. import org.spacehq.mc.protocol.packet.status.client.StatusPingPacket;
  44. import org.spacehq.mc.protocol.packet.status.client.StatusQueryPacket;
  45. import org.spacehq.mc.protocol.packet.status.server.StatusPongPacket;
  46. import org.spacehq.mc.protocol.packet.status.server.StatusResponsePacket;
  47. import org.spacehq.packetlib.Client;
  48. import org.spacehq.packetlib.Server;
  49. import org.spacehq.packetlib.Session;
  50. import org.spacehq.packetlib.event.server.ServerAdapter;
  51. import org.spacehq.packetlib.event.server.ServerBoundEvent;
  52. import org.spacehq.packetlib.event.server.SessionAddedEvent;
  53. import org.spacehq.packetlib.event.server.SessionRemovedEvent;
  54. import org.spacehq.packetlib.event.session.ConnectedEvent;
  55. import org.spacehq.packetlib.event.session.DisconnectedEvent;
  56. import org.spacehq.packetlib.event.session.PacketReceivedEvent;
  57. import org.spacehq.packetlib.event.session.PacketSentEvent;
  58. import org.spacehq.packetlib.event.session.SessionAdapter;
  59. import org.spacehq.packetlib.event.session.SessionListener;
  60. import org.spacehq.packetlib.packet.Packet;
  61. import org.spacehq.packetlib.tcp.TcpSessionFactory;
  62.  
  63. import pl.koxlifeg.proxy.system.commands.Cmd;
  64. import pl.koxlifeg.proxy.system.commands.RegisterCommands;
  65. import pl.koxlifeg.proxy.system.managers.ProxyManager;
  66. import pl.koxlifeg.proxy.system.packets.registers.ChatPackets;
  67. import pl.koxlifeg.proxy.system.packets.registers.JoinPackets;
  68. import pl.koxlifeg.proxy.system.packets.registers.MacroPackets;
  69. import pl.koxlifeg.proxy.system.packets.registers.MotherPackets;
  70. import pl.koxlifeg.proxy.system.packets.registers.RegisterPackets;
  71. import pl.koxlifeg.proxy.system.packets.registers.SetGuiSlotsPackets;
  72.  
  73. import java.awt.image.BufferedImage;
  74. import java.net.InetAddress;
  75. import java.net.Proxy;
  76. import java.net.UnknownHostException;
  77. import java.util.ArrayList;
  78. import java.util.Arrays;
  79. import java.util.HashMap;
  80. import java.util.List;
  81.  
  82. @SuppressWarnings("unused")
  83. public class ProxyStart {
  84.  
  85. private static final boolean SPAWN_SERVER = true;
  86. private static final boolean VERIFY_USERS = false;
  87. private static final String HOST = "91.134.217.12";
  88. private static final int PORT = 25565;
  89. private static final Proxy PROXY = Proxy.NO_PROXY;
  90. private static final Proxy AUTH_PROXY = Proxy.NO_PROXY;
  91. private static final String USERNAME = "MBot";
  92. private static final String PASSWORD = "Password";
  93. public static Server serverek = new Server(HOST, PORT, MinecraftProtocol.class, new TcpSessionFactory(PROXY));
  94. public static HashMap<String, String> users = new HashMap<>();
  95. public static List<Session> logins = new ArrayList<>();
  96. public static void main(String[] args) {
  97. users.put("Szewior", "kozak");
  98. users.put("koxlifeg", "cipa");;
  99. if (SPAWN_SERVER) {
  100. Server server = new Server(HOST, PORT, MinecraftProtocol.class,
  101. new TcpSessionFactory(PROXY));
  102. server.setGlobalFlag(MinecraftConstants.AUTH_PROXY_KEY,
  103. Proxy.NO_PROXY);
  104. server.setGlobalFlag(MinecraftConstants.VERIFY_USERS_KEY, false);
  105. server.setGlobalFlag(MinecraftConstants.SERVER_INFO_BUILDER_KEY,
  106. new ServerInfoBuilder() {
  107. @Override
  108. public ServerStatusInfo buildInfo(Session s) {
  109. return ProxyMotd.set(s);
  110. }
  111. });
  112.  
  113. server.setGlobalFlag(MinecraftConstants.SERVER_LOGIN_HANDLER_KEY,
  114. new ServerLoginHandler() {
  115. @Override
  116. public void loggedIn(Session s) {
  117. JoinToProxy.connect(s);
  118. }
  119. });
  120. server.setGlobalFlag(
  121. MinecraftConstants.SERVER_COMPRESSION_THRESHOLD, 100);
  122. server.addListener(new ServerAdapter() {
  123. @Override
  124. public void sessionAdded(SessionAddedEvent event) {
  125. event.getSession().addListener(new SessionAdapter() {
  126. @Override
  127. public void packetReceived(PacketReceivedEvent event) {
  128. RegisterCommands.set(event);
  129. RegisterPackets.set(event);
  130. }
  131. });
  132. }
  133.  
  134. });
  135. ProxyManager.loadProxies();
  136. server.bind();
  137. }
  138.  
  139. status();
  140. login();
  141. }
  142.  
  143. private static void status() {
  144. MinecraftProtocol protocol = new MinecraftProtocol(SubProtocol.STATUS);
  145. Client client = new Client(HOST, PORT, protocol, new TcpSessionFactory(
  146. PROXY));
  147. client.getSession().setFlag(MinecraftConstants.AUTH_PROXY_KEY,
  148. AUTH_PROXY);
  149. client.getSession().setFlag(MinecraftConstants.SERVER_INFO_HANDLER_KEY,
  150. new ServerInfoHandler() {
  151. @Override
  152. public void handle(Session session, ServerStatusInfo info) {
  153. SexyText.sent();
  154. System.out.println("Wystartowano KoxlifegProxy!");
  155. System.out.println("Ip Proxy: " + HOST + ":" + PORT);
  156. }
  157. });
  158.  
  159. client.getSession().setFlag(
  160. MinecraftConstants.SERVER_PING_TIME_HANDLER_KEY,
  161. new ServerPingTimeHandler() {
  162. @Override
  163. public void handle(Session session, long pingTime) {
  164. }
  165. });
  166.  
  167. client.getSession().connect(true);
  168.  
  169. while (client.getSession().isConnected()) {
  170.  
  171. try {
  172. Thread.sleep(5);
  173. } catch (InterruptedException e) {
  174. e.printStackTrace();
  175. }
  176. }
  177. }
  178.  
  179. private static void login() {
  180. MinecraftProtocol protocol = null;
  181. if (VERIFY_USERS) {
  182. try {
  183. protocol = new MinecraftProtocol(USERNAME, PASSWORD, false);
  184. System.out.println("Successfully authenticated user.");
  185. } catch (RequestException e) {
  186. e.printStackTrace();
  187. return;
  188. }
  189. } else {
  190. protocol = new MinecraftProtocol(USERNAME);
  191. }
  192. Client client = new Client(HOST, PORT, protocol, new TcpSessionFactory(
  193. PROXY));
  194. client.getSession().setFlag(MinecraftConstants.AUTH_PROXY_KEY,
  195. AUTH_PROXY);
  196. client.getSession().addListener(new SessionAdapter() {
  197. public void packetReceived(PacketReceivedEvent event) {
  198.  
  199. }
  200.  
  201. @Override
  202. public void disconnected(DisconnectedEvent event) {
  203. ChatPackets.userslist.remove(event.getSession());
  204. if (event.getCause() != null) {
  205. event.getCause().printStackTrace();
  206. }
  207. }
  208. });
  209.  
  210. client.getSession().connect();
  211. }
  212. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement