You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.3 KiB
51 lines
1.3 KiB
var dgram = require("dgram");
|
|
|
|
var server1 = dgram.createSocket("udp4");
|
|
server1.bind(10001);
|
|
var server2 = dgram.createSocket("udp4");
|
|
server2.bind(10002);
|
|
var server3 = dgram.createSocket("udp4");
|
|
server3.bind(10003);
|
|
var server4 = dgram.createSocket("udp4");
|
|
server4.bind(10004);
|
|
var server5 = dgram.createSocket("udp4");
|
|
server5.bind(10005);
|
|
|
|
var mapping = {
|
|
28015: server1,
|
|
28016: server2,
|
|
28017: server3,
|
|
28018: server4,
|
|
28019: server5,
|
|
25005: server1,
|
|
25006: server2,
|
|
25007: server3,
|
|
25008: server4,
|
|
25009: server5
|
|
};
|
|
|
|
var server = dgram.createSocket("udp4");
|
|
|
|
server.on("error", function(err) {
|
|
console.log("server error:\n" + err.stack);
|
|
});
|
|
|
|
server.on("message", function(msg, rinfo) {
|
|
if (rinfo.port in mapping) {
|
|
// eStats server
|
|
mapping[rinfo.port].send(msg, 0, msg.length, 33702, "176.31.211.227");
|
|
// HLTV server
|
|
mapping[rinfo.port].send(msg, 0, msg.length, 30001, "web5.hltv.org");
|
|
console.log("Forwaded", rinfo.address + ":" + rinfo.port, msg.toString());
|
|
} else {
|
|
console.log("NOT FORWARDED, NOT IN MAPPING", rinfo.address + ":" + rinfo.port, msg.toString());
|
|
}
|
|
|
|
});
|
|
|
|
server.on("listening", function() {
|
|
var address = server.address();
|
|
console.log("server listening " + address.address + ":" + address.port);
|
|
});
|
|
|
|
server.bind(10000);
|