サーバーコマンド

Last-modified: 2018-08-04 (土) 21:42:43

とりあえずよく使うもの表

コマンド名略記使用法要求レベル説明
helphe/help
/help commands
/help <コマンド名>
infoサーバコマンドのヘルプ
具体的な使い方が分かんないときに
listli/list
/list connections
infoプレイヤー一覧の表示
quitq/quithackサーバーを落とす
cutcu/cut <接続名>ctrlプレイヤーをサーバーから切断
showsh/show changed
/show rulesetdir
infoサーバオプションの確認
setset/set <オプション名> <値>ctrlサーバオプションの設定
よく使うのは/set timeout **と/set endturn **の2つ
rulesetdirru/rulesetdir <ディレクトリ>ctrlルールセットの変更
aitoggleai/aitoggle <プレイヤー名>ctrlAIと人間プレイヤーの切り替え
taketa/take <プレイヤー名>infoプレイヤー交代
observeo/observe
/observe <プレイヤー名>
infoゲームの観察
awayaw/awaybasic一時的にAI任せの不在モード
novicenov/novice
...
/experimental
ctrlAIのレベルをまとめて変更

初心者用
 簡単
  普通
   難しい
    チート
     実験的
easyea
normalnor
hardha
cheatingch
experimentalexpe
cmdlevelcm/cmdlevel <レベル> <接続名>adminコマンドアクセスレベルの変更
cancelvoteca/cancelvote <投票番号>
/cancelvote all
admin投票フェーズの強制終了
endgameen/endgameadminゲームを終了させる
surrendersu/surrenderbasic白旗を揚げる
kickk/kick <接続名>ctrlプレイヤーの切断・再接続拒否



使い方

サーバコマンドはクライアントのチャット行か、freeciv-server.exeのコンソールに入力して実行する。
半角スラッシュ「/」で始め、全て半角英数で入力すること。
先頭の何文字かだけでFreeciv側が解釈してくれるので、ある程度省略して構わない。
例えば/show rulesetdirは/sh ruでよい。
プレイヤー名なども省略できる一方、ディレクトリ名は省略できないようである。

文頭半角スラッシュは全てコマンド扱いになるため、文章のときは文頭スペースを使うこと。
「/oで観察できるよ」という文章は「 /oで観察できるよ」とすればよい。

一覧

コマンドアクセスレベルごとに分類

none

一切のコマンドを使えない。

info

ゲームを観戦する人はこれ。利用できるコマンドは少ない

help

略記使用法要求レベル説明
he/helpinfo初歩的なヘルプの表示
/help commandsサーバコマンド一覧を表示
/help optionsサーバオプション一覧を表示
/help <コマンド名>各コマンドのヘルプを表示
/help <オプション名>各オプションのヘルプ・現在値・規定値を表示

list

li/listinfo参戦プレイヤー名・ユーザー名・チーム・接続元・権限・AIレベルの一覧を表示
/list players
/list connectionsサーバーへの接続の一覧を表示
/list ignored usersignoreコマンドで無視しているプレイヤーと条件一覧を表示
/list scenarios利用可能なシナリオの一覧を表示
/list teamsチーム別に参戦プレイヤー一覧を表示
/list votes実施中の投票一覧を表示

explain

expl/explaininfoサーバオプション一覧を表示
/explain <オプション名>各オプションのヘルプ・現在値・規定値を表示

helpコマンドの一部機能と全く同じ。「後方互換のため」存在するコマンドらしい。

show

sh/showinfo特に重要なサーバオプションの設定値・最小値・最大値を表示
/show vital
/show <オプション名><オプション名>の設定値・最小値・最大値を表示
/show <オプション名の接頭辞><オプション名の接頭辞>で始まるサーバオプションの設定値・最小値・最大値を表示
/show all全サーバオプションの設定値・最小値・最大値を表示
/show situational状況により必要になるサーバオプションの設定値・最小値・最大値を表示
/show rareめったに使われないサーバオプションの設定値・最小値・最大値を表示
/show changed設定が変更されたサーバオプションの設定値・最小値・最大値を表示
/show lockedルールセットで固定されたサーバオプションの設定値・最小値・最大値を表示
/show rulesetdir現在のルールセットディレクトリ名を表示

take

ta/take <プレイヤー名>infoそのプレイヤーの操作を交代して行う
/take <接続名> -hack新規プレイヤーを追加し、<接続名>にその操作を強制する
/take <接続名> <プレイヤー名><接続名>に<プレイヤー名>の操作を強制する

observe

o/observeinfo全体を観察する
/observe <プレイヤー名><プレイヤー名>を観察する
/obbserve <接続名>hack<接続名>に全体の観察を強制する(コンソール操作)
/obbserve <接続名> <プレイヤー名><接続名>に<プレイヤー名>の観察を強制する

detach

det/detachinfo自分のプレイヤー担当を解任する
/detach <接続名>hack<接続名>のプレイヤー担当を解任する

ゲームの参戦プレイヤーでもなければ、観察プレイヤーでもなくなる。

ignore

i/ignore <パターン>info接続名が<パターン>に合致するユーザーからのメッセージを無視する
/ignore user=<パターン>
/ignore ip=<パターン>IPが<パターン>に合致するユーザーからのメッセージを無視する
/ignore host=<パターン>ホスト名が<パターン>に合致するユーザーからのメッセージを無視する

「.文章」の同盟会話と「名前:文章」の内緒話を無視できる。
さらに内緒話の場合、無視された側にも「あなたは無視されています。」と表示される。

<パターン>は*/?/[]の3種類のワイルドカードを使用可能。
*は任意の文字列、?は任意の1文字、[]は括弧内に含まれる1文字に合致する。

ちなみにコンソールで使用すると、「駄目ですよ。」と優しく諭される。萌え。

unignore

u/unignore <数字>info無視リスト<数字>番を削除する
/unignore <数字>-<数字>無視リスト<数字>番から<数字>番を削除する
(数字のどちらか一方は省略できる)

serverid

ser/serveridinfoサーバIDを表示する

何に使うの?

basic

オンライン対戦の一般参加者

start

略記使用法要求レベル説明
st/startbasic準備を完了する
hackゲームを強制開始する(コンソール操作)

開始(S)ボタンを押すのと効果は一緒。
バグってボタンが押せないときに使う。

vote

v/vote yes <投票番号>basic<投票番号>の提案に賛成する
v/vote no <投票番号><投票番号>の提案に反対する
v/vote abstain <投票番号><投票番号>の提案に棄権する

最新の提案に対する投票の場合、<投票番号>は省略してよい。
投票ボタンが実装されたため、ほとんど使われなくなった。

away

aw/awaybasic不在モードon/off切り替え

AIが代わりに操作してくれる。

first

f/firstbasicゲーム主催者になる

上位権限を持つゲーム主催者がいない場合に使う。

cancelvote

ca/cancelvotebasic自分が提案した投票を取り消す
ca/cancelvote <投票番号>admin<投票番号>の投票を取り消す
ca/cancelvote all全ての投票を取り消す

投票フェーズを強制的に終了させるコマンド。圧政の始まりだ

surrender

su/surrenderbasic降伏する

降伏した後もゲームは続き、操作可能。

delegate

del/delegate to <ユーザー名> <プレイヤー名>basic<ユーザー名>に<プレイヤー名>へのdelegate takeコマンドを許可する
/delegate cancel <プレイヤー名><プレイヤー名>に与えた許可を取り消す
/delegate take <プレイヤー名><プレイヤー名>の操作を受け継ぐ
/delegate restore/delegate take コマンドの反対の効果(?)
/delegate show <プレイヤー名><プレイヤー名>の操作を委任されたユーザー名を表示する

操作を他のユーザーに託す委任コマンド。
サーバオプションで接続の乗っ取りを不可にしていても使用できる。

ctrl

サーバオプションをいろいろ変更できる

cut

略記使用法要求レベル説明
cu/cut <接続名>ctrlプレイヤーをサーバーから切断する

/kickとは違い、すぐに再接続できる。

debug

deb/debug diplomacy <プレイヤー>ctrl
/debug ferries
/debug player <プレイヤー>/debug diplomacy へと廃止置換 *1
/debug tech <プレイヤー>
/debug city <x> <y>
/debug units <x> <y>
/debug unit <ID>
/debug timing
/debug info

set

set/set <オプション名> <値>ctrlサーバオプションを設定する

team

te/team <プレイヤー名> <数字>ctrl<プレイヤー名>をチーム<数字>に加える

民族の決まっていないAIはAI*1、AI*2…と指定する。

rulesetdir

ru/rulesetdir <ディレクトリ>ctrlルールセットを変更する

もちろんゲーム開始後は変更不可。

metamessage

metam/metamessagectrlメタサーバ一覧に表示されるコメントを削除する
/metamessage <コメント>メタサーバ一覧に表示されるコメントを設定する

コメントは2バイト文字も可。

aitoggle

ai/aitoggle <プレイヤー名>ctrlプレイヤーのAI状態を切り替える

ゲーム開始後は民族タブ>AI>AI状態を切り替える(T)でも同じ事ができる。
takeコマンドでAIに入ったときに必要となる場合がある。

create

cr/create <プレイヤー名>ctrl指導者名が<プレイヤー名>である新規プレイヤーを追加する

追加されたプレイヤーは都市やユニットを何も持たない。
編集モードでプレイヤーを追加するのに似ている。
プレイヤー名は省略できない。

novice / easy / normal / hard / cheating / experimental

nov
ea
nor
ha
ch
expe
/novice
...
/experimental
ctrlAIのレベルをまとめて変更する
/novice <AIプレイヤー名>
...
/experimental <AIプレイヤー名>
<AIプレイヤー名>のレベルを変更する

timeoutincrease

ti/timeoutincrease <ターン> <ターン増加> <値> <乗値>ctrl1ターンの制限時間を少しずつ増加させる

<ターン>ターン経過するごとに<値>を制限時間に加え、次に<ターン>に<ターン増加>を加え、<値>に<乗値>を掛ける。
設定がやや複雑なためあまり使われない。

remove

rem/remove <プレイヤー名>ctrlゲームからプレイヤーを跡形もなく消滅させる

都市やユニットも含め、最初から存在しなかったかの如く消滅させる。
ゲーム終了後も実行できるが、サーバーが不安定になるようだ。

load

lo/load <ファイル名>ctrlセーブファイルを読み込む

read

rea/read <ファイル名>ctrlゲーム設定を読み込む

writeコマンドで保存したゲーム設定を読み込むコマンド。
.servは入力しなくてよい。

reset

res/reset gamectrlゲーム開始後に、設定を開始時のものに戻す
/reset ruleset設定をルールセットで定義されたものに戻す
/reset script設定を戻し、サーバ開始スクリプトを再読み込みする
/reset default設定を規定値に戻す

kick

k/kick <プレイヤー名>ctrlプレイヤーを切断し、再接続も拒否する

いわゆる荒らし対策コマンド。
接続名を変えても再接続は不可能で、期間はデフォルトで1800秒。

admin

サーバオプションをもっといろいろ変更できる

wall

略記使用法要求レベル説明
wa/wall <メッセージ>admin<メッセージ>を各クライアントへ発信する

connectmsg

co/connectmsgadminクライアントが接続してきたときに表示するポップアップメッセージを削除する
/connectmsg <メッセージ>クライアントが接続してきたときに表示するポップアップメッセージを設定する

metaconnection

metac/metaconnectionadminメタサーバへの接続状態を表示する
/metaconnection ?admin
/metaconnection upadminメタサーバへ接続する
/metaconnection downadminメタサーバから切断する

メタサーバと接続すると、ネットワークゲーム>メタサーバのリストに表示される。

metaserver

metas/metaserver <アドレス>adminメタサーバアドレスを変更する

通常、変更する必要はない。

cmdlevel

cm/cmdleveladmin現在のプレイヤー権限設定を表示する
/cmdlevel <レベル>接続中の全プレイヤー・新規プレイヤー・最初のプレイヤーの権限を<レベル>に設定する
/cmdlevel <レベル> new新規プレイヤーの権限を<レベル>に設定する
/cmdlevel <レベル> first最初のプレイヤーの権限を<レベル>に設定する
/cmdlevel <レベル> <接続名><接続名>の権限を<レベル>に設定する

<レベル>はnone/info/basic/ctrl/admin/hackの6種類で、省略不可。
またhack権限を他プレイヤーに与えられるのはhack権限のプレイヤーのみ。
各プレイヤーのコマンドアクセスレベルは/listコマンドで確認できる。

playercolor

p/playercolor <プレイヤー名> <カラーコード>admin<プレイヤー名>の国境線の色を<カラーコード>にする
/playercolor <プレイヤー名> reset<プレイヤー名>の国境線の色を未設定に戻す

国境線の色を変更するコマンド。
サーバオプションの「plrcolormode」が「Set manually」のときのみ、ゲーム開始前に色の設定・リセットができる。
ゲーム開始後は「plrcolormode」の設定に関わらず色を変更できるが、リセットはできない。
カラーコードはRGBの値を16進数で並べたもので、#はつけなくてよい。また色名(redやblue)は不可。
他のプレイヤーと同じ色にすることもできる。

endgame

en/endgameadminゲームを終了させる

引き分けでゲーム終了。

save

sa/saveadminゲームを保存する(ファイル名は自動設定)
/save <ファイル名>名前をつけてゲームを保存する

名前をつける場合、拡張子(.sav.bz2)は入力しなくてよい。

lua

lu/lua <スクリプト>admin

fcdb

fc/fcdb reloadadmin
/fcdb lua <スクリプト>

mapimg

ma/mapimg define <mapdef>admin
/mapimg show <id> (all)
/mapimg create <id> (all)
/mapimg delete <id> (all)
/mapimg colortest

ターンごとにミニマップを画像ファイルとして保存するコマンド。
パラパラ漫画のように繋げるとゲーム展開をアニメーション化できる。
しかしこのコマンドに関して、私は真に驚くべき解説を見つけたが、この余白はそれを書くには狭すぎる。

hack

あらゆるコマンドと編集モードを使える。

quit

略記使用法要求レベル説明
q/quithackサーバーをシャットダウンする

metapatches

metap/metapatches <meta-line>hack

write

wr/write <ファイル名>.servhack現在のゲーム設定をservファイルに保存する

インストールフォルダに設定値がservファイルとして保存される。
後からこれをテキストエディタで編集することもできる。
個人的にはAIをチーム分けするコマンドを書き加えられるのが便利(team AI*1 1みたいに)。
工夫次第で色々と活用できるコマンド。

rfcstyle

rf/rfcstylehackサーバ出力形式を切り替える

通常形式とRFC形式を切り替える。