このガイドでは、Legion Hosting 上の alt:V サーバーのリソース開発、データベースのセットアップ、管理者ツール、プレイヤー管理、車両・武器の管理、トラブルシューティングについて解説します。サーバーの初期セットアップ、server.toml の設定、接続手順については、alt:V サーバーセットアップガイドをご覧ください。
管理者のセットアップ
alt:V には組み込みの管理者システムがありません。管理機能は、自分で作成またはインストールするリソース(スクリプト)を通じて実装されます。ほとんどのゲームモードは、権限レベル、ロール、管理者コマンドを備えた独自の管理者システムを実装しています。
一般的な管理者の実装方法
- データベースベースのロール: ほとんどのロールプレイやゲームモードフレームワークは、管理者ロールをデータベースに保存します。管理者には、異なる権限レベルを付与するロール(例: モデレーター、管理者、スーパー管理者)が割り当てられます。
- 設定ベースの管理者: よりシンプルな構成では、管理者の Steam ID や alt:V ID とその権限レベルをリストした設定ファイルを使用する場合があります。
- コンソールコマンド: GPanel のサーバーコンソールは常に完全なアクセス権を持っています。管理操作のためにコンソール入力を受け付けるサーバーサイドスクリプトを書くことができます。
管理者リソースのセットアップ
- ゲームモードに合った管理者リソースを選択するか開発します。
- Files タブまたは SFTP 経由で
resources/ディレクトリにリソースをアップロードします。 - リソース名を
server.tomlのresources配列に追加します。 - 管理者リソースを設定します(管理者の Steam/alt:V ID、権限レベルなどを設定)。
- サーバーを再起動します。
リソースシステム
リソースは alt:V サーバーの中核となる構成要素です。各リソースは、サーバーサイドコード、クライアントサイドコード、またはその両方を含むことができる自己完結型のモジュールです。リソースは JavaScript、TypeScript、または C# で書かれます。
リソースの構造
resources/
my-resource/
resource.toml <-- Resource configuration (required)
server/
index.js <-- Server-side entry point
utils.js <-- Additional server-side files
client/
index.js <-- Client-side entry point (runs in player's GTA V)
shared/
config.js <-- Shared code accessible by both server and client
resource.toml の設定
type = "js"
main = "server/index.js"
client-main = "client/index.js"
client-files = ["client/*"]
deps = ["chat"]
フィールド: type(js または csharp)、main(サーバーサイドのエントリポイント)、client-main(クライアントサイドのエントリポイント、プレイヤーの GTA V で実行)、client-files(クライアントに送信するファイル、グロブ対応)、deps(先に読み込む他のリソース)。
リソースのインストール
ビルド済みのリソースをサーバーにインストールするには:
- リソースファイル(通常は
resource.tomlとスクリプトファイルを含むフォルダ)をダウンロードします。 - GPanel でサーバーを停止します。
- Files タブまたは SFTP 経由で、リソースフォルダを
resources/にアップロードします。 - リソースフォルダ名を
server.tomlのresources配列に追加します:
resources = ["existing-resource", "new-resource"]
- リソースに依存関係がある場合は、それらもインストールされ、リストに記載されていることを確認します。
- リソースをそのドキュメントに従って設定します(設定ファイル、データベースのセットアップなど)。
- サーバーを起動します。リソースの読み込みメッセージとエラーがないかコンソールを確認します。
リソースの削除
- サーバーを停止します。
server.tomlのresources配列からリソース名を削除します。- 必要に応じて、
resources/からリソースフォルダを削除します。 - サーバーを起動します。
deps フィールドを確認してください。
データベースのセットアップ
ほとんどの alt:V ゲームモードは、プレイヤーデータ、車両、インベントリ、その他の永続的な情報を保存するためにデータベースを必要とします。alt:V で最も一般的なデータベースシステムは MongoDB と MySQL/MariaDB です。
MongoDB
MongoDB は、JavaScript/TypeScript リソースでよく使用される NoSQL ドキュメントデータベースです。MongoDB Atlas(無料プランあり)のようなマネージドサービス、またはセルフホストのインスタンスを使用してください。接続文字列(例: mongodb+srv://user:[email protected]/mydb)を取得し、リソースの設定ファイルに設定します。Node.js リソースは mongodb npm パッケージを使用します。
MySQL / MariaDB
MySQL は C# リソースや一部の JavaScript フレームワークでよく使用されます。マネージドサービスまたはセルフホストのインスタンスからデータベースを取得し、接続詳細(ホスト、ポート、ユーザー名、パスワード、データベース名)でリソースを設定し、必要な SQL マイグレーションスクリプトを実行してください。
プレイヤー管理
alt:V のプレイヤー管理はリソースを通じて処理されます。一般的な操作には以下が含まれます:
プレイヤーの識別
alt:V は、接続している各プレイヤーに対していくつかの識別子を提供します:
| 識別子 | 説明 |
|---|---|
player.id |
現在のセッションに割り当てられた一時的な数値 ID。再接続時に変わります。 |
player.socialID |
プレイヤーの Rockstar Social Club ID。セッションをまたいで永続します。 |
player.hwidHash |
ハードウェア識別子のハッシュ。BAN の執行に役立ちます。 |
player.ip |
プレイヤーの IP アドレス。 |
キックと BAN
リソースにキックと BAN の機能を実装します:
import alt from "alt-server";
// Kick a player
player.kick("Reason for kick");
// Ban check on connect (store bans in database)
alt.on("playerConnect", (player) => {
if (isPlayerBanned(player.socialID)) {
player.kick("You are banned from this server.");
}
});
socialID と hwidHash を使用してください。
車両と武器の管理
車両と武器はサーバーサイドスクリプトを通じて管理されます。alt:V は車両と武器のスポーン、変更、削除を完全に制御できます。
車両のスポーン
import alt from "alt-server";
// Spawn a vehicle at a position
const vehicle = new alt.Vehicle(
"sultan", // Vehicle model name
0, 0, 72, // Position (x, y, z)
0, 0, 0 // Rotation (rx, ry, rz)
);
vehicle.numberPlateText = "LEGION";
武器の付与
// Give a weapon to a player
player.giveWeapon(alt.hash("weapon_pistol"), 100, true);
// Remove all weapons
player.removeAllWeapons();
車両の永続化
デフォルトでは、車両はサーバーメモリ内にのみ存在し、再起動時に失われます。再起動をまたいで車両を永続化するには、そのデータ(モデル、位置、改造、所有者)をデータベースに保存し、サーバー起動時に再作成してください。
トラブルシューティング
リソースが読み込まれない
server.toml内のリソース名がresources/内のフォルダ名と完全に一致していることを確認してください。- リソースに、正しい
typeおよびmainフィールドを持つ有効なresource.tomlファイルがあることを確認してください。 - リソース読み込み中のエラーメッセージがないかコンソールを確認してください。スクリプトの構文エラーはリソースの起動を妨げます。
depsにリストされているすべての依存関係がインストールされ、読み込まれていることを確認してください。server.tomlで正しいモジュールが読み込まれていることを確認してください(JavaScript の場合はjs-module、C# の場合はcsharp-module)。
プレイヤーが接続できない
- サーバーが稼働しており、GPanel でオンラインと表示されていることを確認してください。
- プレイヤーが通常の GTA V ランチャーではなく、alt:V ランチャーを使用していることを確認してください。
- alt:V のサーバーブランチがプレイヤーのものと一致していることを確認してください(release、rc、または dev)。ブランチが一致しないと接続できません。
- パスワードで保護されている場合は、プレイヤーが正しいパスワードを入力していることを確認してください。
- プレイヤーに IP とポートでダイレクト接続を試してもらってください。サーバーの IP とポートの確認方法をご覧ください。
サーバーのクラッシュ
- クラッシュ前のエラーメッセージがないかコンソールを確認してください。
- 不具合のあるリソースがクラッシュの最も一般的な原因です。最近追加したリソースを無効にして問題を切り分けてください。
- サーバーファイルが最新であることを確認してください。必要に応じて Startup タブから再インストールを実行してください。
- リソースのメモリリークは、時間の経過とともにサーバーの RAM を使い果たす原因になることがあります。GPanel のリソースグラフで、メモリ使用量が着実に増加していないか監視してください。
データベースと音声の問題
- データベースの認証情報と接続文字列を確認してください。MongoDB Atlas の場合は、ネットワークアクセス設定でサーバーの IP をホワイトリストに登録してください。
- データベース接続エラーのメッセージがないかコンソールを確認してください。
- ボイスチャットには
server.tomlの[voice]セクションに加えて、音声チャンネルのロジックを実装するリソースが必要です。設定だけではインフラを準備するだけです。
パフォーマンスの問題
- 高コストな操作(重いループ、同期的なデータベース呼び出し、過剰なエンティティ生成)についてリソースをプロファイルしてください。
alt.setIntervalとalt.setTimeoutは控えめに使用してください。ティックごとの重い操作はパフォーマンス低下の最も一般的な原因です。- GPanel のリソースグラフで CPU と RAM の使用率を監視してください。
- プレイヤー数が多い場合は、サーバープランのアップグレードを検討してください。オプションについて相談するにはサポートチケットを開いてください。
関連記事
- alt:V サーバーセットアップガイド — 初期セットアップ、server.toml の設定、ボイスチャット、接続手順
- サーバーの IP とポートの確認方法
- SFTP でファイルをアップロードする方法
- サーバー起動ガイド — Legion Hosting であらゆるゲームサーバーを起動するための一般ガイド
さらにサポートが必要ですか?
このガイドで扱われていない問題が発生している場合は、当社のサポートチームがお手伝いします。legionhosting.net/submitticket.php でチケットを開き、サーバーの詳細、問題の説明、GPanel コンソールの関連するエラーメッセージを記載してください。