···
1
-
import mc from 'minecraft-protocol';
1
+
import mc from "minecraft-protocol";
const PROXY_PORT = 25565;
4
-
const TARGET_HOST = 'localhost';
5
-
const TARGET_PORT = 25566;
4
+
const TARGET_HOST = "one.strongcraft.org";
5
+
const TARGET_PORT = 25565;
6
+
const MINECRAFT_VERSION = "1.20.4";
7
-
const SPOOFED_USERNAME = 'admin';
8
-
const SPOOFED_UUID = '36881d51-7477-3eb6-91a1-dfc11065590d';
8
+
const SPOOFED_USERNAME = "BobTheBomber917";
9
+
const SPOOFED_UUID = "4b5db0b0-3165-3ef2-956f-2ee9f25479aa";
const server = mc.createServer({
11
-
'online-mode': false,
12
+
"online-mode": false,
15
+
version: MINECRAFT_VERSION,
console.log(`Minecraft proxy listening on port ${PROXY_PORT}`);
console.log(`Forwarding to ${TARGET_HOST}:${TARGET_PORT}`);
20
-
server.on('login', (client) => {
21
-
console.log('\n=== NEW CLIENT CONNECTION ===');
22
-
console.log(`Original Player: ${client.username}`);
23
-
console.log(`Original UUID: ${client.uuid}`);
24
-
console.log(`IP: ${client.socket.remoteAddress}`);
25
-
console.log(`Spoofing as: ${SPOOFED_USERNAME} (${SPOOFED_UUID})`);
27
-
const target = mc.createClient({
30
-
username: SPOOFED_USERNAME,
24
+
version: MINECRAFT_VERSION,
27
+
return res as mc.NewPingResult;
30
+
console.log("description:", res.description);
31
+
console.log("players:", res.players);
32
+
console.log("version:", res.version);
33
+
console.log("latency:", res.latency);
36
+
console.error("Ping failed:", err);
36
-
target.on('connect', () => {
37
-
console.log(`Connected to target server for ${client.username}`);
39
+
server.on("login", (client) => {
40
+
console.log("\n=== NEW CLIENT CONNECTION ===");
41
+
console.log(`Original Player: ${client.username}`);
42
+
console.log(`Original UUID: ${client.uuid}`);
43
+
console.log(`IP: ${client.socket.remoteAddress}`);
44
+
console.log(`Spoofing as: ${SPOOFED_USERNAME} (${SPOOFED_UUID})`);
40
-
target.on('error', (err) => {
41
-
console.error(`Target error for ${client.username}:`, err.message);
42
-
client.end('Connection to server failed');
46
+
console.log("\n=== CONNECTED USERS ===");
47
+
console.log("=======================\n");
45
-
client.on('packet', (data, meta) => {
46
-
if (meta.name.includes('auth') ||
47
-
meta.name.includes('login') ||
48
-
meta.name.includes('encryption') ||
49
-
meta.name.includes('session')) {
50
-
console.log('\n--- AUTH PACKET (Client -> Server) ---');
51
-
console.log(`Packet: ${meta.name}`);
52
-
console.log(`State: ${meta.state}`);
53
-
console.log('Data:', JSON.stringify(data, null, 2));
54
-
console.log('--------------------------------------');
49
+
const target = mc.createClient({
52
+
username: SPOOFED_USERNAME,
54
+
version: MINECRAFT_VERSION,
57
-
if (target.state === mc.states.PLAY && meta.state === mc.states.PLAY) {
58
-
target.write(meta.name, data);
58
+
target.on("connect", () => {
59
+
console.log(`Connected to target server for ${client.username}`);
62
+
target.on("error", (err) => {
63
+
console.error(`Target error for ${client.username}:`, err.message);
64
+
client.end("Connection to server failed");
62
-
target.on('packet', (data, meta) => {
63
-
if (meta.name.includes('auth') ||
64
-
meta.name.includes('login') ||
65
-
meta.name.includes('encryption') ||
66
-
meta.name.includes('session') ||
67
-
meta.name.includes('compress')) {
68
-
console.log('\n--- AUTH PACKET (Server -> Client) ---');
69
-
console.log(`Packet: ${meta.name}`);
70
-
console.log(`State: ${meta.state}`);
71
-
console.log('Data:', JSON.stringify(data, null, 2));
72
-
console.log('--------------------------------------');
67
+
client.on("packet", (data, meta) => {
69
+
meta.name.includes("auth") ||
70
+
meta.name.includes("login") ||
71
+
meta.name.includes("encryption") ||
72
+
meta.name.includes("session")
74
+
console.log("\n--- AUTH PACKET (Client -> Server) ---");
75
+
console.log(`Packet: ${meta.name}`);
76
+
console.log(`State: ${meta.state}`);
77
+
console.log("Data:", JSON.stringify(data, null, 2));
78
+
console.log("--------------------------------------");
81
+
if (target.state === mc.states.PLAY && meta.state === mc.states.PLAY) {
82
+
target.write(meta.name, data);
86
+
target.on("packet", (data, meta) => {
88
+
meta.name.includes("auth") ||
89
+
meta.name.includes("login") ||
90
+
meta.name.includes("encryption") ||
91
+
meta.name.includes("session") ||
92
+
meta.name.includes("compress")
94
+
console.log("\n--- AUTH PACKET (Server -> Client) ---");
95
+
console.log(`Packet: ${meta.name}`);
96
+
console.log(`State: ${meta.state}`);
97
+
console.log("Data:", JSON.stringify(data, null, 2));
98
+
console.log("--------------------------------------");
75
-
if (client.state === mc.states.PLAY && meta.state === mc.states.PLAY) {
76
-
client.write(meta.name, data);
101
+
if (client.state === mc.states.PLAY && meta.state === mc.states.PLAY) {
102
+
client.write(meta.name, data);
80
-
client.on('end', () => {
81
-
console.log(`Client ${client.username} disconnected`);
106
+
client.on("end", () => {
107
+
console.log(`Client ${client.username} disconnected`);
85
-
target.on('end', () => {
86
-
console.log(`Target server disconnected for ${client.username}`);
87
-
client.end('Server connection closed');
111
+
target.on("end", () => {
112
+
console.log(`Target server disconnected for ${client.username}`);
113
+
client.end("Server connection closed");
91
-
server.on('error', (err) => {
92
-
console.error('Server error:', err);
117
+
server.on("error", (err) => {
118
+
console.error("Server error:", err);
95
-
server.on('listening', () => {
96
-
console.log('Server ready for connections');
121
+
server.on("listening", () => {
122
+
console.log("Server ready for connections");