概要 | コマンドラインオプション | サーバコマンド | サーバオプション マニュアルのメインページに戻る
Freecivの核となるシステムがサーバです。ゲーム中の全ての変数(マップ、ユニット、都市、研究など)を管理し、クライアントからのプレイヤーリクエストを基に状態を更新し、さらに更新内容をクライアントに送信します。マルチプレイヤーゲームにおいては、ゲーム進行の裁定官となります。一人プレイでは、他国をAI操作します。
一人プレイでもマルチプレイでも、サーバー管理者はクライアントのターミナルウィンドウからサーバを立ちあげられます。しかし、クライアントから立ち上げた場合に管理者クライアントのプレイヤーがゲームをやめてしまうと、ゲームに参加した全てのプレイヤーが切断され、ゲームは終了してしまうでしょう。プレイヤーと同等である管理者はゲームオプションを、ゲームルールのフルセットや用意したシナリオを読み込むことまでも含め、設定を行ってもいいです。プレイヤーはサーバーに、クライアントプログラムを使ってネットワーク接続をします。(一人用ゲームでは、コンピュータ上にサーバを立ち上げ、クライアントを接続してゲームを始めることができます。)全てのプレイヤーが接続すると、コンソールがコマンドを送信するかクライアントがスタートボタンをしてゲームが始まり、全プレイヤーはゲームを遊べる状態になります。
ゲームでは、サーバコマンドでゲームオプションの調整や、後の再起動のためにゲームをセーブしたり、ゲームを強制終了することができます。
メタサーバはマルチプレイヤーゲームのマッチングを提供するサーバです。コマンドラインの --metaオプションで有効にすると、サーバはゲームの進行と状態をメタサーバに通知します。この一方通行な通知はプレイヤーにサーバへ接続しゲームに参加することを許可するでしょう。
コマンドラインオプション[]
オプションはサーバのコマンドラインで許可されます。オプションを合成して書くことはできません。
freeciv-server -fp savegame.sav 5555
と書くと動かないでしょう。代わりに
freeciv-server -f savegame.sav -p 5555
と入力するべきです。 多くのオプションは短縮形(ハイフンと文字がひとつ)と非短縮形(ハイフン2つと完全なオプション文字列)を持ちます。これらの効果は全く同じです。
サーバコマンド[]
非公式wikiに
サーバマニュアル
の記事があります
あなたはゲーム開始中や開始前のいつでも、サーバにコマンド入力をすることができます。コマンド名はファイル名や設定名も含め大文字小文字を区別します(例外はプレイヤー名の引数で、普通は文字の区別はしません)。 コマンド引数でプレイヤー名がいつも例外となるのは、民族の指導者の名前に必要だからです。例えばあなたが「ローマ」よりも「シーザー」について言及したい場合です。
多くのコマンドや値は、例えば最初の数文字のみを切り取ってクライアントから入力することができます。入力した値の先頭には"/"が付いている必要があります。 プレイヤーのコントロールレベルによっては、コマンドを入力すると投票が開始される場合があります。
サーバオプション[]
非公式wikiに
サーバマニュアル
の記事があります
オプションは、"set"コマンドで設定されます。"show"コマンドで一覧を見ることができます。"explain"コマンドで説明を見ることができます。すべてではありませんが、多くのオプションは自動的にクライアントプログラムへ送られます。いくつかはサーバ専用のものです。ほとんどのオプションは、ただの整数値で表現されます。
オプションの詳細については、コンソール上でサーバの"explain"コマンドやクライアントの"/explain"コマンドで見ることができます。
オプションの分類[]
一般的に使用される重要なオプションは、コンソールサーバーまたはクライアントコマンドラインで/showと入力するだけで一覧表示されます。 あまり使用されていないオプションは、/show situational または/show rare と入力すると表示されます。 各オプションは地形、社会、経済、軍事、科学、内部、ネットワーキングのどれかカテゴリに属しています。 ゲーム中に変更できるオプションもあれば、変更できないオプションもあります。
重要なオプション[]
マップが生成されていない場合にのみ設定できるオプションは、マップ生成プロセスで使用され、マップの一般的な性質を確立します。土地のサイズ(size)、トポロジ(topology)、ジェネレーター(generator)、初期位置(Startpos)などです。
- サイズオプションはマップのサイズを定義します。これはプレーヤーの数と期待されるゲームの長さに基づく必要があります。 デフォルトのマップサイズである4000タイルは、展開が速めの2人用ゲームには十分な大きさですが、3人以上にとってはちょっと速すぎるゲームになります。
- トポロジオプションは、世界の形をクラシックまたはアイソメトリックタイルの配置で、円筒形、フラット、またはドーナツ型にします。
- ジェネレータオプションは、マップ生成プロセスを変更します。 デフォルトのジェネレーターはランダムです。 ジェネレーター2は、1つまたは複数の大陸で疑似フラクタルマップを作成します。 マップジェネレーター3は島のみを作成します。
- 初期位置は同じ大陸で何人のプレイヤーがスタートするかを決定します。 各ジェネレーターのデフォルト値があります。
マップが生成されていない場合、またはマップがすでに生成されているがシナリオで事前定義されたマップでありゲームが実際に開始されていない場合は、他のいくつかのオプションが設定される場合があります。スペシャル(specials)、小屋の数(huts)、最小プレイヤー数(minplayers)、最大プレイヤー数(maxplayers)、AIプレイヤーの追加(aifill)、初期ユニット(startunits)、初期資金(gold)、科学レベル(techlevel)など、さまざまなレベルでのマップとゲームの作成に関わります。
- スペシャルはタイル1000個あたりの特別なリソース(果物、宝石、鉄など)が含まれるタイルの数を決定します。
- 小屋の数は世界中にいくつの小屋があるかを決定します。
- 最小プレイヤー数はこの数のプレーヤーが接続する前にサーバーが起動するのを防ぎ、最大プレイヤー数はこの数に達した後は新しいプレーヤーの接続を禁止します。
- AIプレイヤーの追加により、サーバーはこの数のプレーヤーに到達するために必要な数のAIを作成します。
- 初期ユニットは、開始するユニットの数と種類を決定します。開拓者、労働者、探検家、外交官など、9つの種類から最大15ユニットを設定することができます。
- 初期資金は、ゲームを開始するときの各プレーヤーの資金です。
- 科学レベルは、各プレイヤーがゲームを開始する時点で既知の技術の数です。それらはランダムに選択され、プレイヤーごとに異なる場合があります。
残りのオプションは、ゲームの開始後でも設定できます:バーバリアン(barbarians)、バーバリアンの発生(onsetbarbs)、宇宙開発競争(spacerace)、タイムアウト(timeout)です。
- バーバリアンオプションはバーバリアンが不安を感じるかどうか、そしてどれほど戦闘的であるかを定義します。
- バーバリアンの発生オプションは、バーバリアンが現れる日付を決定します。
- 宇宙開発競争は、プレイヤーが宇宙船を建造できるかどうかを決定します。
- タイムアウトは、ターンの最大期間です。
タイムアウトオプションには注意が必要です。すべてのプレイヤーが次のターンに入ったときにターンが更新されます。プレーヤーが数人しかない場合は適宜コミュニケーションを取りながら、この設定のままにしておくのが妥当です。プレイヤー数が少ない場合や1分程度離れるプレイヤーがおり、待ちたくない場合はタイムアウトを60秒などの間隔に設定できます。その場合、プレイヤーが次のターンに入っていなくても前回の更新から60秒後に次の更新が行われます。ゲームの後半では、より長いタイムアウトが必要になる場合があります。一般にプレーヤーが多いほど必要なタイムアウトは長くなりますが、300秒を超えるとプレーヤーに迷惑がかかることに注意してください。 サーバオプションも参照してください。
ゲームを簡単にするためにさまざまな設定(初期資金、技術レベル、研究コストなど)の調整を行うことをお勧めします。あなた自身の経験が浅いか、経験の浅い人々と遊んでいるならおそらく誰も反対しないでしょう。しかし、これは遊び方を学ぶ良い方法ではありません。一般的な設定に対処する方法を学ぶことが難しくなるからです。ゲームの設定はローマ帝国の衰退シナリオや中世ヨーロッパのシナリオなど、独自の環境と一貫性を備えた代替世界であるシナリオを作成したい人のためにあります。
環境設定ファイル[]
authファイル (バージョン2.1.xのみ)[]
サーバーをauthオプション(--enable-auth
)付きで建てたときは設定をテキストファイルに書いておける。
例えば
; Configuration file for Freeciv server player authentication [auth] ; How to connect MySQL server host="localhost" port="3306" ; This is handled as string! This is ignored in 2.1.5 and earlier, fixed in 2.1.6. user="freeciv" password="fc" ; What database to use in MySQL server database="freeciv" ; Table names table="" login_table=""
"table names"の部分はオプションであり、デフォルトでは以下のようになっている。
table="auth" login_table="loginlog".
authオプションは次で有効にできる。
freeciv-server -a auth-file.txt