ここではRustのサーバーの権限について説明します
この記事を読む前に
ここでは通常のサーバーを建てれてる状態での説明となりますので、サーバーの建て方が分からない+まだ建てていない場合はこちらの記事でサーバーの設立をお願いします
サーバーの建て方
権限について
Rustでは快適なサーバーを提供できるようにするために一般プレイヤーと管理者に分かれて管理者はコマンドなどによってサーバーの管理や悪質なプレイヤーをサーバーから排除等、サーバーの秩序を守ったりします
更にそこから「Rustのサーバー権限」と「プラグインの権限」の2区分が存在します。まとめると
〇Rustのサーバー権限権限名 | 内容 |
---|
オーナー | サーバーの最高権限。Fコンソールコマンドによるサーバーの停止やF1からアイテムを出現させることが可能 |
モデレーター | オーナー権限よりもワンランク低い権限。プレイヤーのキックやBAN等はできるが、サーバーを停止させる等のコマンドは使えない |
(権限なし) | 一般プレイヤーの事で、上記のコマンドは一切使えないが、バインドによるコマンド登録等は可能 |
〇プラグインの権限
プラグインの権限に関しては少し複雑です。
まず、最初に「権限グループ」というものが存在し、その権限グループに別々のプラグインの権限を付与することができます。これにより、「通常のプレイヤーとVip権を購入したプレイヤー」のようにより細かい権限グループを作ることができます
例えば、サーバー満員時に順番待ちをスキップするプラグインを導入したとします。その際、「順番待ちを完全無視して即時接続できる(権限A)」、「順番待ちの最前列に割り込む(権限B)」があったとします
そこからコマンドで権限グループ「Admin」、「Vip」、「Default」の4つを建てたとします。
そして下記のように権限を設定すると3段階の権限グループが発生し、その権限グループに割り振られているプレイヤーはそれに応じた権限が適用されるという感じです権限名 | プラグイン権限 | どうなる? |
---|
Admin | 権限A | 順番待ちを完全無視して即時接続 |
Vip | 権限B | 順番待ちの最前列に割り込む |
Default | (権限なし) | 通常通り、順番を待つ |
ここからそれぞれの権限の扱い方について解説します
Rustのサーバー権限
自分のサーバーに管理者権限を付与
この状態でサーバーに接続はできますが、その前にサーバーの管理者権限を先に付与します
Rustの仕様上管理者権限はサーバーにログイン中に付与しても適用されず、再度接続しなおす必要がありますので先に設定します
まず管理者権限を付与するコマンドがこちらになります
「
ownerid <SteamID> <名前> <グループ>」
SteamIDはブラウザで自分のアカウントへアクセスするとURL欄に数字の羅列があると思うのでそれがSteamIDとなります。名前は自分のSteamのプロフィール名になります。アカウント名ではありません!
※追記:もしブラウザのURLに表示されない時は以下のサイトで自分のプロフィール名を入力すると検索されて表示されるのでそちらを使ってください。→https://steamid.io/
例としてWiki主へ管理者権限を取得させるために入力した後のコマンドを載せます。
「
例:ownerid 76561198139844193 Dorosii Admin」
これをサーバーのBatファイルに直接入力します
緑の文字が入力したコマンドでその下が適用されたコマンド結果となります
権限コマンドを入力後は以下のコマンドも入力しましょう
「
server.writecfg」
これはサーバーでの設定ファイルが生成、セーブされてないときに使用するコマンドとなります。なので管理者権限を取得した次の日にサーバーに入ったら管理者権限がなくなってた!というのを防ぐためにここまでの記録をするということです
サーバーに接続して権限が適用されているか確認
サーバーに接続すると以下のように「○○ has auth Level 2」と表示されていれば、最高権限で接続されています。これが表示されない場合はうまく権限が付与されてないので再度確認してみてください
ちなみにモデレーターの場合ですと「○○ has auth Level 1」と表示されます
サーバー権限についてまとめ
オーナー権限のほかにモデレーター権限や権限はく奪のコマンドもあるのでそれらをまとめています
コマンド | 内容 |
---|
ownerid <SteamID> <名前> <グループ> | オーナー権限を付与 |
moderatorid <SteamID> <名前> <グループ> | モデレーター権限を付与 |
removeowner <SteamID> <名前> <グループ> | オーナー権限を剥奪 |
removemoderator <SteamID> <名前> <グループ> | モデレーター権限を剥奪 |
プラグイン権限
ここではModサーバーを建てれてる状態での説明となりますので、サーバーの建て方が分からない+まだ建てていない場合はこちらの記事でサーバーの設立をお願いします
Modサーバーの建て方
権限グループの確認、作成
上記のサーバー権限にてグループを入力している場合、自動的にその権限グループも作成されています
例えば「ownerid 76561198139844193 Dorosii Admin」と入力したのであれば「admin」というプラグイン権限が作成され、そのグループに配属されています。
入力していなくても一番最初は「default」というプラグイン権限グループも作成されています
しかし、今回は一から最後まで解説をします
まず、最初に以下のコマンドで権限グループを作成します
oxide.group add [グループ名]
このグループ名はローマ字のみで平仮名、カタカナ、漢字等の日本語は使えません!
ここではグループ名を「PluginGroupA」とします
例: oxide.group add PluginGroupA
これによってPluginGroupAというプラグイングループが作成されました
権限グループにプレイヤーを配属
上記だけではグループが作成されただけでプレイヤーは配属されていないのでコマンドでプレイヤーを配属します
oxide.usergroup add [プレイヤー名 or SteamID] [グループ名]
この時のプレイヤー名ですが、これはSteam名の事ですが仮に同じ名前のプレイヤーが複数いた際、混同する恐れがあるので個人的にはSteamIDでの追加を推奨します
例としてWiki主を先ほど作成したPluginGroupAに配属させる場合だと
例: oxide.usergroup add 76561198139844193 PluginGroupA
これによりWiki主「Dorosii」は「PluginGroupA」というプラグイン権限グループに所属されます
権限グループに権限を付与
ここでPluginGroupAにプラグインの権限を付与します
今回はテストとしてUmodで公開されているプラグインのうちの一つ、対象プレイヤーを透明化するプラグイン「Vanish」を使います
このプラグインのサイトを見ると4つのプラグイン権限が存在します
権限名 | 付与されると? |
---|
vanish.allow | 透明化を切り替えるコマンドが使用可能 |
vanish.unlock | 透明化しているプレイヤーをすべて透明化解除できるようにする |
vanish.damage | 透明化しているプレイヤーが他のエンティティにダメージを与えられる |
vanish.permanent | 永続的にプレイヤーを透明化させる |
今回は透明化できるようにするためだけなので一番上の権限「vanish.allow」のみを「PluginGroupA」に付与させます
そのコマンドと入力例は
oxide.grant group [グループ名] [権限名]
例: oxide.grant group PluginGroupA vanish.allow
これにより「PluginGroupA」の権限グループに「透明化を切り替えるコマンドが使用可能となるプラグイン権限」が付与されて「PluginGroupA」権限グループに所属しているプレイヤーはそのコマンドが使えるようになります
権限コマンドを入力後は以下のコマンドも入力しましょう
「
server.writecfg」
まとめ
これでプラグイン権限については説明完了ですが、これ以外にも細かい権限コマンドがあるのでリストでまとめます
権限名 | 内容 |
---|
oxide.grant user [SteamID] [権限名] | ユーザーにのみ権限を付与 |
oxide.revoke user [SteamID] [権限名] | ユーザーの権限を剥奪 |
oxide.grant group [グループ名] [権限名] | グループに権限を付与 |
oxide.revoke group [グループ名] [権限名] | グループの権限を剥奪 |
oxide.usergroup add [SteamID] [グループ名] | ユーザーをグループに配属 |
oxide.usergroup remove [SteamID] [グループ名] | ユーザーをグループから除外 |
oxide.group add [グループ名] | グループを新規作成 |
oxide.group remove [グループ名] | グループを削除 |
oxide.show user [SteamID] | ユーザーに付与されている権限を表示 |
oxide.show group [グループ名] | グループに付与されている権限を表示 |
oxide.show perm [権限名] | 権限がどのユーザーまたはグループに付与されているかを確認 |
oxide.show groups/perms | すべてのグループと権限を表示 |
余談ですが、サーバーに大量のプラグインを導入する際、権限などの管理がコマンドで管理されてわかりづらいという場合
専用の管理プラグイン等を使ったりするのもお勧めします。Wiki主はこちらを使っています
Admin Menu(有料なので注意!)
また、権限等のデータは「サーバーファイル」→「rustds」→「oxide」→「data」の中に.dataファイルとして保存されています
コメントをかく