SHOW:
|
|
- or go back to the newest paste.
1 | private static final boolean VERIFY_USERS = false; | |
2 | private static final String HOST = "127.0.0.1"; | |
3 | private static final int PORT = 2222; | |
4 | private static final Proxy PROXY = Proxy.NO_PROXY; | |
5 | private static final Proxy AUTH_PROXY = Proxy.NO_PROXY; | |
6 | private static final String USERNAME = "MProxy_STARTBOT"; | |
7 | private static final String PASSWORD = "-"; | |
8 | ||
9 | public static void loadServer() { | |
10 | Server server = new Server(HOST, PORT, MinecraftProtocol.class, new TcpSessionFactory(PROXY)); | |
11 | server.setGlobalFlag(MinecraftConstants.AUTH_PROXY_KEY, AUTH_PROXY); | |
12 | server.setGlobalFlag(MinecraftConstants.VERIFY_USERS_KEY, VERIFY_USERS); | |
13 | server.setGlobalFlag(MinecraftConstants.SERVER_INFO_BUILDER_KEY, new ServerInfoBuilder() { | |
14 | @Override | |
15 | public ServerStatusInfo buildInfo(Session session) { | |
16 | return new ServerStatusInfo(new VersionInfo(MinecraftConstants.GAME_VERSION, MinecraftConstants.PROTOCOL_VERSION), new PlayerInfo(10, 0, new GameProfile[0]), new TextMessage("Testowe proxy"), null); | |
17 | } | |
18 | }); | |
19 | ||
20 | server.setGlobalFlag(MinecraftConstants.SERVER_LOGIN_HANDLER_KEY, new ServerLoginHandler() { | |
21 | @Override | |
22 | public void loggedIn(Session session) { | |
23 | - | session.send(new ServerJoinGamePacket(0, true, GameMode.SURVIVAL, 0, Difficulty.PEACEFUL, 10, WorldType.LARGE_BIOMES, false)); |
23 | + | |
24 | session.send(new ServerJoinGamePacket(0, false, GameMode.SURVIVAL, 0, Difficulty.PEACEFUL, 10, WorldType.DEFAULT, false)); | |
25 | } | |
26 | }); | |
27 | ||
28 | server.setGlobalFlag(MinecraftConstants.SERVER_COMPRESSION_THRESHOLD, 100); | |
29 | server.addListener(new ServerAdapter() { | |
30 | @Override | |
31 | public void sessionAdded(SessionAddedEvent event) { | |
32 | event.getSession().addListener(new SessionAdapter() { | |
33 | @Override | |
34 | - | @Override |
34 | + | public void packetReceived(PacketReceivedEvent packetreceivedevent) { |
35 | - | public void packetReceived(PacketReceivedEvent event) { |
35 | + | if(packetreceivedevent.getPacket() instanceof LoginSuccessPacket){ |
36 | - | if(event.getPacket() instanceof ClientChatPacket) { |
36 | + | event.getSession().send(new ServerTitlePacket("§8## §ccos §8##", false)); |
37 | - | ClientChatPacket packet = event.getPacket(); |
37 | + | event.getSession().send(new ServerTitlePacket("§8## §cWitaj na proxy by §9ktos §8##", true)); |
38 | - | GameProfile profile = event.getSession().getFlag(MinecraftConstants.PROFILE_KEY); |
38 | + | event.getSession().send(new ServerTitlePacket(15, 35, 15)); |
39 | - | System.out.println(profile.getName() + ": " + packet.getMessage()); |
39 | + | event.getSession().send(new ServerChatPacket("staszek do jacka mowi: dziendobry")); |
40 | - | Message msg = new TextMessage("Hello, ").setStyle(new MessageStyle().setColor(ChatColor.GREEN)); |
40 | + | event.getSession().send(new ServerChatPacket("jackek mowi: siema siema kurwa witam")); |
41 | - | Message name = new TextMessage(profile.getName()).setStyle(new MessageStyle().setColor(ChatColor.AQUA).addFormat(ChatFormat.UNDERLINED)); |
41 | + | } |
42 | - | Message end = new TextMessage("!"); |
42 | + | } |
43 | - | msg.addExtra(name); |
43 | + | |
44 | - | msg.addExtra(end); |
44 | + | |
45 | - | event.getSession().send(new ServerChatPacket(msg)); |
45 | + | |
46 | - | } |
46 | + | |
47 | - | } |
47 | + | |
48 | public void sessionRemoved(SessionRemovedEvent event) { | |
49 | MinecraftProtocol protocol = (MinecraftProtocol) event.getSession().getPacketProtocol(); | |
50 | if(protocol.getSubProtocol() == SubProtocol.GAME) { | |
51 | System.out.println("Closing server."); | |
52 | event.getServer().close(); | |
53 | } | |
54 | } | |
55 | }); | |
56 | ||
57 | server.bind(); | |
58 | ||
59 | status(); | |
60 | - | server.setGlobalFlag(SERVER_LOGIN_HANDLER_KEY, new ServerLoginHandler() { |
60 | + | |
61 | } | |
62 | ||
63 | - | System.out.println("## Odebrano pakiet ServerJoinGamePacket... ##"); |
63 | + | |
64 | - | session.send(new ServerJoinGamePacket(0, true, GameMode.SURVIVAL, 0, Difficulty.PEACEFUL, 10, WorldType.LARGE_BIOMES, false)); |
64 | + | |
65 | - | session.send(new ServerPlayerPositionRotationPacket(1337, 69, 1337, 0, 0)); |
65 | + | |
66 | client.getSession().setFlag(MinecraftConstants.AUTH_PROXY_KEY, AUTH_PROXY); | |
67 | client.getSession().setFlag(MinecraftConstants.SERVER_INFO_HANDLER_KEY, new ServerInfoHandler() { | |
68 | @Override | |
69 | public void handle(Session session, ServerStatusInfo info) { | |
70 | System.out.println("Version: " + info.getVersionInfo().getVersionName() + ", " + info.getVersionInfo().getProtocolVersion()); | |
71 | System.out.println("Player Count: " + info.getPlayerInfo().getOnlinePlayers() + " / " + info.getPlayerInfo().getMaxPlayers()); | |
72 | System.out.println("Players: " + Arrays.toString(info.getPlayerInfo().getPlayers())); | |
73 | System.out.println("Description: " + info.getDescription().getFullText()); | |
74 | System.out.println("Icon: " + info.getIcon()); | |
75 | } | |
76 | }); | |
77 | ||
78 | client.getSession().setFlag(MinecraftConstants.SERVER_PING_TIME_HANDLER_KEY, new ServerPingTimeHandler() { | |
79 | @Override | |
80 | public void handle(Session session, long pingTime) { | |
81 | System.out.println("Server ping took " + pingTime + "ms"); | |
82 | } | |
83 | }); | |
84 | ||
85 | client.getSession().connect(); | |
86 | while(client.getSession().isConnected()) { | |
87 | try { | |
88 | Thread.sleep(5); | |
89 | } catch(InterruptedException e) { | |
90 | e.printStackTrace(); | |
91 | } | |
92 | } | |
93 | } | |
94 | ||
95 | private static void login() { | |
96 | MinecraftProtocol protocol = null; | |
97 | if(VERIFY_USERS) { | |
98 | try { | |
99 | protocol = new MinecraftProtocol(USERNAME, PASSWORD, false); | |
100 | System.out.println("Successfully authenticated user."); | |
101 | } catch(RequestException e) { | |
102 | e.printStackTrace(); | |
103 | return; | |
104 | } | |
105 | } else { | |
106 | protocol = new MinecraftProtocol(USERNAME); | |
107 | } | |
108 | ||
109 | Client client = new Client(HOST, PORT, protocol, new TcpSessionFactory(PROXY)); | |
110 | client.getSession().setFlag(MinecraftConstants.AUTH_PROXY_KEY, AUTH_PROXY); | |
111 | client.getSession().addListener(new SessionAdapter() { | |
112 | @Override | |
113 | public void packetReceived(PacketReceivedEvent event) { | |
114 | if(event.getPacket() instanceof ServerChatPacket) { | |
115 | Message message = event.<ServerChatPacket>getPacket().getMessage(); | |
116 | System.out.println("Odebrana Wiadomosc: " + message.getFullText()); | |
117 | } | |
118 | } | |
119 | ||
120 | @Override | |
121 | public void disconnected(DisconnectedEvent event) { | |
122 | System.out.println("Rozlaczono: " + Message.fromString(event.getReason()).getFullText()); | |
123 | if(event.getCause() != null) { | |
124 | event.getCause().printStackTrace(); | |
125 | } | |
126 | } | |
127 | }); | |
128 | @SuppressWarnings("resource") | |
129 | Scanner s = new Scanner(System.in); | |
130 | String string = s.next(); | |
131 | System.out.println("IP: " + HOST + ":" + PORT); | |
132 | client.getSession().connect(); | |
133 | } |