>

srcds (소스 전용 서버)가 있습니다

콘솔에서 logaddress_add 0.0.0.0:25001 를 추가하십시오.

이것은 원격 서버로 로그 전송을 켭니다

이러한 방식으로 로그를 잡으려고 시도했습니다

var net = require('net');
var server = net.createServer(function(c) { 
    c.on('end', function() {
        console.log('server disconnected');
    });
    c.pipe(c);
});
server.listen(25001);

그리고 그

var net = require('net');
var client = net.connect({port: 25001});
client.on('data', function(data) {
    console.log(data.toString());
    client.end();
});
client.on('end', function() {
    console.log('client disconnected');
});

그리고 그

var s = dgram.createSocket('udp4');
s.bind(25001, function(data) {
    console.log(data)
});

결과가 없습니다. 누군가 도와 드릴까요?

사전 감사합니다


  • 답변 # 1

    [해결]

    SRCDS 서버에서

    logaddress_add 0.0.0.0:8006 //for local ip
    
    

    app.js에서

    var dgram = require('dgram'),
        server = dgram.createSocket('udp4');
    server.on('message', function (message, rinfo) {
    var msg = message.toString('ascii').slice(5,-1);    
    console.log(msg);
        });
    server.on('listening', function () {
        var address = server.address();
        console.log('UDP Server listening ' + address.address + ':' + address.port);
    });
    server.bind(8006); 
    
    

  • 답변 # 2

    이 작업을 수행하는 작은 라이브러리 (srcds-log-receiver)를 작성하여 패킷 형식을 확인하고 날짜를 추출하고 sv_logsecret 함수를 사용하여 소량의 UDP 패킷은 쉽게 위조되기 때문에 연결 인증.

    또한 로그 라인을 유용한 객체로 바꾸는 파서를 작성했습니다.

  • 이전 git - 일부 특정 파일, 디렉토리를 제외하고 루트의 모든 파일을 무시하십시오
  • 다음 macOS의 바로 가기 넷빈 (Apple Keyboard)