Rustサーバー起動確認済の前提で話を進めていきます。まだ設定できていない方は下記から各設定を済ませてください。また、同様の機能を持つOxideを既に導入されている方は、どちらかに寄せる必要があるため、この記事は読み飛ばして頂いて構いません。
Mod前提Plugin(Carbon)導入
※Rustサーバーは停止した状態で行ってください。
# Rustサーバーインストール先へ移動
cd /root/develop/rust_srv/
# ネットワーク経由で、Pluginをファイル名を指定してダウンロード
wget https://github.com/CarbonCommunity/Carbon/releases/download/production_build/Carbon.Linux.Release.tar.gz
# zipファイルを解凍(上書きオプション付き)
tar -xf ./Carbon.Linux.Release.tar.gz
# 実行権限付与
chmod 755 ./carbon.sh
フォルダの階層を確認
解凍フォルダの場所と解凍されているファイルを確認しましょう。
以下のような構成になっていれば問題ありません。
起動する際は、runds.shではなく、carbon.shを使用します。
Mod導入手順
Carbonでは、OxideのPluginと下位互換があるため、OxideのPluginをそのまま使用することが出来ます。
今回は試しに、1つMod:Gather Manager(資源の採掘、採取量をX倍にするプラグイン)を導入してみようと思います。
# Mod導入フォルダに移動
/root/develop/rust_srv/carbon/plugins
# ネットワーク経由でダウンロード
sudo wget https://umod.org/plugins/GatherManager.cs
設定ファイルの書換
# Mod用設定フォルダに移動
/root/develop/rust_srv/carbon/configs
# エディタ起動
sudo vim GatherManager.json
{
"Messages": {
"Dispensers": "Resource Dispensers",
"Excavators": "Excavators",
"HelpText": "/gather - Shows you detailed gather information.",
"HelpTextAdmin": "To change the resources gained by gathering use the command:\r\ngather.rate <type:dispenser|pickup|quarry|survey> <resource> <multiplier>\r\nTo change the amount of resources in a dispenser type use the command:\r\ndispenser.scale <dispenser:tree|ore|corpse> <multiplier>\r\nTo change the time between Mining Quarry gathers:\r\nquarry.tickrate <seconds>",
"HelpTextMiningQuarrySpeed": "Time between Mining Quarry gathers: {0} second(s).",
"HelpTextPlayer": "Resources gained from gathering have been scaled to the following:",
"HelpTextPlayerDefault": "Default values.",
"HelpTextPlayerGains": "Resources gained from {0}:",
"InvalidArgumentsDispenserType": "Invalid arguments supplied! Use dispenser.scale <dispenser:tree|ore|corpse> <multiplier>",
"InvalidArgumentsGather": "Invalid arguments supplied! Use gather.rate <type:dispenser|pickup|quarry|excavator|survey> <resource> <multiplier>",
"InvalidArgumentsMiningQuarrySpeed": "Invalid arguments supplied! Use quarry.rate <time between gathers in seconds>",
"InvalidDispenser": "{0} is not a valid dispenser. Check gather.dispensers for a list of available options.",
"InvalidMiningQuarrySpeed": "You can't set the speed lower than 1 second!",
"InvalidModifier": "Invalid modifier supplied! The new modifier always needs to be bigger than 0!",
"InvalidResource": "{0} is not a valid resource. Check gather.resources for a list of available options.",
"MiningQuarries": "Mining Quarries",
"ModifyDispenser": "You have set the resource amount for {0} dispensers to x{1}",
"ModifyMiningQuarrySpeed": "The Mining Quarry will now provide resources every {0} seconds.",
"ModifyResource": "You have set the gather rate for {0} to x{1} from {2}.",
"ModifyResourceRemove": "You have reset the gather rate for {0} from {1}.",
"NotAllowed": "You don't have permission to use this command.",
"Pickups": "pickups",
"SurveyCharges": "Survey Charges"
},
"Options": {
"ExcavatorBeltSpeedMax": 0.1,
"ExcavatorResourceModifiers": {},
"ExcavatorResourceTickRate": 3.0,
"ExcavatorTimeForFullResources": 120.0,
"GatherDispenserModifiers": {},
"GatherResourceModifiers": {
"Cloth": 2.0,
"Metal Ore": 2.0,
"Stones": 2.0,
"Sulfur Ore": 2.0,
"Wood": 100.0
},
"MiningQuarryResourceTickRate": 5.0,
"PickupResourceModifiers": {},
"QuarryResourceModifiers": {},
"SurveyResourceModifiers": {}
},
"Settings": {
"ChatPrefix": "Gather Manager",
"ChatPrefixColor": "#008000ff"
}
}
※woodのところを100倍に
サーバーを起動
# サーバー用のウインドウに再接続
screen -r rustserver
# サーバー実行(サーバー起動時のパラメータは元々の起動パラメータと同じです。)
./carbon.sh -batchmode -nographics -server.ip 0.0.0.0 -server.port 28015 -rcon.ip 0.0.0.0 -rcon.port 28016 +rcon.password rconPass +rcon.web 1
ゲーム内で確認
補足:Carbonのフォルダ構成
config | 設定フォルダ | プラグインと同名の .jsonファイルが作成されているはず。 |
extensions | 拡張フォルダ | カスタムマップで使用する拡張プラグイン(Oxide.Ext.RustEdit.dll)などを格納します。 |
harmony | プラグインフォルダ(Harmony) | Rust標準のカスタムPlugin(Harmony MOD)を格納します。 |
lang | 言語フォルダ | デフォルトでは、enのフォルダが出来ているはず。ない場合は、対応していない。 jaのフォルダを作成し、,jsonの中身を日本語に書き換えると、日本語になる。 |
logs | ログフォルダ | oxide関連のログが出力される。 |
plugins | プラグインフォルダ | ここに、Modファイルを格納する。基本的には、.cs ファイルになる。 |
補足:Modの権限設定
Modの中には、権限を設定しないと動かないものがある。
必要なものは、以下のような記載がある。
上記は、Oxide用の説明になっているが、Carbonでは以下のようにコマンドを実行する。(Rcon経由)
ex)
c.grant user developer backpacks.admin