//cache
[[メモ/ネットワークゲーム]]

#contents


RIGHT:
&size(10){''更新履歴''};
&size(10){初版。 2011/08/20};
&size(10){第二版。112.3現在 2013/09/14};

*サーバー管理用ツール nettool [111.0以降] [#n7bf08b3]
ゲームサーバーを管理するためのコマンドラインツールです。111.0以降で対応しています。バイナリは配布されていませんので、自分でソースから[[ビルド>開発/ビルド方法]]する必要があります。
- 接続禁止のブラックリストはファイルには保存されません。クラッシュしたり、再起動すると失われます。
- クライアント番号はプレイヤー会社の番号ではありません。誰がどのプレイヤー会社を操作しているのかという情報は取得できません。


**書式 [#i78d7c6d]
 nettool [オプション] <コマンド> [コマンド引数]

**コマンド [#y73b7794]
***announce [#z03215bb]
:説明|サーバーリストに現在のゲームの情報を通知します。あらかじめIDを取得し、設定しておく必要があります。

***clients [#e5a3335f]
:説明|現在接続しているクライアントのリストを取得します
:説明|現在接続しているクライアントのリストを取得します。

***companies [#yf93b627]
:説明|現在運営されている会社のリストを取得します。最後にどの会社で誰が操作をしたかも取得できます。

***info-company <会社番号> [#ub99ce01]
:説明|指定した番号の会社の情報を取得します。

***lock-company <会社番号> <新しいパスワード> [#gbefc42b]
:説明|指定した番号の会社にロックをかけます。新しいパスワードの部分を"-F <パスワードファイル名>"とすると、パスワードを記述したファイルが使用できます。

***unlock-company <会社番号> [#vb5c3844]
:説明|指定した番号の会社のロックを解除します。

***remove-company <会社番号> [#laf3e135]
:説明|指定した番号の会社を削除します。その会社の持ち物も全て削除されます。

***kick-client <クライアント番号> [#n4c73919]
:説明|指定した番号のクライアントを強制切断します。(クライアント番号は、clientsコマンドで取得してください)

***ban-client <クライアント番号> [#gdad5ef3]
:説明|指定した番号のクライアントを強制切断し、ブラックリストに追加します。(クライアント番号は、clientsコマンドで取得してください)

***ban-ip <IPアドレス> [#jc5cf2f4]
:説明|指定したIPアドレスを接続禁止にします。ブラックリストに追加します。

***unban-ip <IPアドレス> [#icf57a97]
:説明|指定したIPアドレスの接続禁止を解除します。ブラックリストから削除します。

***blacklist [#ked08250]
:説明|接続禁止されたクライアントのリストを表示します

***say <メッセージ> [#xb1d9e39]
:説明|すべてのクライアントにチャットメッセージを送ります。(最大512文字)&br;Windowsでは2byte文字は使用できませんでした。(コンソールの言語仕様によってはできるのかもしれませんが、よくわかりませんでした。)
追記:UTF8で送信すれば2byte文字を送信できるようです。

:例|
 nettool say "Hello"

***shutdown [#r5a62c08]
:説明|サーバーを強制終了します。セーブゲームは保存されません。

***force-sync [#c139c59d]
:説明|強制的に同期コマンドを送ります。ゲームが保存され、再読み込みされます。

**オプション [#zd202a37]
***-s <サーバー:ポート番号> [#f46b6a93]
:説明|サーバーとポート番号を指定します。省略可能で、省略時のデフォルトはそれぞれ、localhost、13353です。

***-p <パスワード> [#b1e3550a]
:説明|パスワードを直接指定します。

***-P <パスワードファイル名> [#g527cd8d]
:説明|パスワードを記述したファイルを指定します

***-q [#bb2bd163]
:説明|サイレントモードで実行します。

**終了コード [#q0db2376]
:説明|
 0 .. 成功
 1 .. サーバーに到達できませんでした
 2 .. サーバーにメッセージを送信できませんでした
 3 .. その他のエラー