Rust プラグインに権限を設定する
Published on 2024/08/14Tags
概要
Rust プラグインに権限を設定し、権限のあるユーザーのみがプラグインを使用できるようにします。
参考情報
関連情報
権限の設定
Rust プラグインのチャットコマンドを実装する で作成した ActivePlayers.cs
ファイルに権限を設定します。
-
プロパティ
Permission
で実装する権限を指定します。private const string Permission = "activeplayers.allow";
-
Init メソッドで権限を追加します。
void Init() { permission.RegisterPermission(Permission, this); }
-
チャットコマンドを実行する前に権限があるかチェックします。権限がない場合はチャットにメッセージを表示して権限がないことをユーザーに伝えます。
if (!permission.UserHasPermission(player.UserIDString, Permission)) { PrintToChat(player, "You don't have permission to use this command!"); return; }
-
全てのソースコードは次の通りです。
namespace Oxide.Plugins { [Info("Active Players", "Unknown Author", "0.1.0")] [Description("This plugin displays all active usernames in the chat.")] class ActivePlayers : RustPlugin { private const string Permission = "activeplayers.allow"; void Init() { permission.RegisterPermission(Permission, this); } [ChatCommand("activeplayers")] void ActivePlayersCommand(BasePlayer player, string command, string[] args) { if (!permission.UserHasPermission(player.UserIDString, Permission)) { PrintToChat(player, "You don't have permission to use this command!"); return; } foreach (BasePlayer activePlayer in BasePlayer.activePlayerList) { PrintToChat(player, $"Active Player: {activePlayer.displayName}"); } } } }
権限の動作確認
-
ActivePlayers.cs
ファイルをサーバーの oxide/plugins フォルダにコピーします。 -
サーバーを起動します。
-
Rust を起動してサーバーに接続します。
-
Rust のチャットに
/activeplayers
を入力すると、権限がないため次のメッセージが表示されます。You don't have permission to use this command!
-
サーバー側で次のコマンドを実行し権限を付与します。
oxide.grant user {USER_ID} activeplayers.allow
-
Rust のチャットに
/activeplayers
を入力すると、権限があるためアクティブユーザーの名前が表示されます。