RCONの使用

rconを使用するには起動オプションに+ip ローカルIPアドレスを指定すると使えるようになるんですが
それだと鯖ブラのLANから見えなくなるので別の方法(起動オプションに+ip 0.0.0.0を設定する)をとってみました。

そもそも指定せずに送ろうとするとどうなるかというと、”Unable to connect to remote server”と怒られる。
サーバからのTCP応答パケットをみてみると
Flags: 0x14 (RST, ACK)とResetフラグが立てられていて、TCPコネクション自体が確立できていない。

サーバのnetstatでみてみると

tcp        0      0 127.0.1.1:27015         0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:27015           0.0.0.0:*

な感じで待ち受けています。サーバは宛先が192.168.0.102:27015のパケットを受け取っても、待ってる宛先のパケットではないので無効と判断してしまう。srcds自体に届いてません。

もし、+ip ローカルIPアドレスを指定してやると

tcp        0      0 192.168.0.102:27015     0.0.0.0:*               LISTEN
udp     7376      0 192.168.0.102:27015     0.0.0.0:*

となって、クライアントからはrconが使えるようになりにはなります。
ですが、問題が一つあって、冒頭にも書いた鯖ブラのLAN外から見えなくなります。
鯖ブラのLANで検索をかけると宛先IPが255.255.255.255のUDPパケットを飛ばすのですが
これだと、宛先IPが192.168.0.102ではないので応答しなくなってしまいます。
(なんで??応答してもよさそうなのに。。)

で、思いついた方法は二つ。
・192.168.0.102:27015宛てのパケットを127.0.1.1:27015に転送する。
・TCP27015ポートのローカルアドレスを0.0.0.0に変更する

上はややこしそうなので下で。

起動オプションに+port 0.0.0.0を指定すると鯖ブラのLANでサーバが見えて、
且つ、他PCからでもサーバ内からでもrconが使えるようになります。
netstatの結果は↓

tcp        0      0 0.0.0.0:27015           0.0.0.0:*               LISTEN
udp    11064      0 0.0.0.0:27015           0.0.0.0:*

コメントを残す

メールアドレスが公開されることはありません。