このページではルールセットコレクションの内容について説明します。これは開発者向けのリファレンスとして、またFreecivの代替ルールセットを作成/コンパイルしたい人を対象としています。 ルールセットについてはルールセットのページも参照してください。
ルールセットの編集の概要[]
ルールセットは、サーバーコマンドrulesetdir
を使用して指定されます。コマンド ./freeciv-server -r data/civ1.serv
は、このコマンド(およびいくつかの標準サーバーオプション)を使用するファイルを読み取るだけです。 serverコマンドは、ルールセットファイルが検索されるディレクトリを指定します。
データディレクトリ内のルールセットファイルはユーザーが編集できるため、Freecivを再コンパイルしなくても、それらを変更してカスタムのルールセットを作成できます。 default、civ1、およびciv2ディレクトリにある既存のファイルを編集してはいけません。代わりに、それらを別のディレクトリにコピーして、コピーを編集する必要があります。変更されたルールを使用していることを明確にするためです。
フォーマットに関する注意
- 一部のルールファイルは、他のファイルに依存しています。例:ユニットは、techsファイルで指定された研究に依存します。
- ユニットには「フラグ」のようなフィールド「ロール」がありますが、ゲームのさまざまな状況で使用されるユニットを決定します(ユニットの固有のプロパティではありません)。 common /unit.hのコメントを参照してください
- ユニットと研究のプロパティは、かなり一般化されています。建物のプロパティはまだあまり柔軟性がありません。
質問があればまずルールセットフォーラムを確認してください。
ルールセットコレクションファイル[]
ルールセットは次に挙げる構成ファイルで構成されています。
- buildings
- cities
- effects
- game
- governments
- nations
- styles
- techs
- terrain
- units
- script
- serv
新しいルールセットを作成する方法[]
これらの手順は、UnixまたはLinuxのインストール用です。これらは迅速ですが荒い方法です。ルールセットの次のバージョンを適切な開発エリアに保存し、準備ができたらFreecivデータディレクトリにインストールすることをお勧めしますが、そのような複雑な方法はこのページの範囲外です。
- 新しいルールセットの名前を決定します。たとえば、seawolf。
- Freecivデータディレクトリを見つけます。たとえば、私のDebianGNU/Linuxコンピュータでは、これは
/usr/share/games/freeciv
です。そのディレクトリには、default
という名前のサブディレクトリとdefault.serv
という名前のファイルがあります。 - そのデフォルトのサブディレクトリの内容を、あなたのルールセットと同じ名前でFreecivデータディレクトリにある新しいディレクトリにコピーします。たとえば、DebianGNU/Linuxコンピューターでseawolfルールセットを作成すると、
/usr/share/games/freeciv/seawolf/buildings.ruleset
や/usr/share/games/freeciv/seawolf/cities.rileset
などのファイルが作成されます。 default.serv
スクリプトをコピーして、Freecivデータディレクトリに新しいファイルを作成しますが、defaultの代わりにあなたのルールセットの名前を付けます。たとえば、/usr/share/games/freeciv/seawolf.serv
です。- そのスクリプトの最後に
rulesetdir
コマンドを追加して、ルールセットを選択します。たとえば、rulesetdir seawolf
これで、デフォルトのルールセットと同じルールを持つ、選択した名前の新しいルールセットが作成されました。
クライアントを使用してローカルサーバーを起動している場合は、ルールセットが使用可能なルールセットのメニューに表示されます。ただし、おそらく最初にクライアントを再起動する必要があります。
新しいルールセットディレクトリ内のファイルと、必要に応じて.serv
スクリプトを調べて変更し、ルールへの変更を実装します。
または、/usr/share/games/freeciv/
の代わりに~/.freeciv/2.5
というファイルにコピーする(2.5の代わりに使用しているfreecivのバージョン番号)こともできます。ルールセットを作成するためにrootユーザーとしてログインする必要がないという利点がありますが、コンピューターの他のユーザーは新しいルールセットを使用できません。
ルールセットのエラーをテストする方法[]
コマンドプロンプトを使用して、freecivサーバーに移動します。
cd /opt/bin/freeciv-2.5.9
freecivサーバーを実行します。
FREECIV-SERVER
ルールセットファイルを定義します。
rules alien
するとサーバーはエラーまたは警告を表示します。