どうも朝ごはんのデザートもプロテインなHachiQ4です。
今回は、FiveMのサーバーの立て方解説第二弾として、サーバーの基本的な設定方法を私の分かる範囲で解説していきます。
この辺の設定を済ませておいた上でサーバーを公開することをおすすめします。
FiveMについて
FiveMについての基本的なことから導入方法まではこちらの記事で解説しています。
ちなみに、私が公開しているサーバーもあります(笑)
FiveMサーバーを立てよう講座!
第一弾:「自分でサーバーを立てよう!(FXサーバー)」
第二弾:「サーバーの基本的な設定を済ませよう!」
第三弾:「サーバーに車両MODを追加しよう!」
第四弾:「サーバーにマップMODを入れてみよう!」
第五弾:「サーバーを公開してみよう!」
最終回(仮):「サーバーにプレイヤー情報を保存しよう!EssentialModeBase」
サーバーの基本設定は「server.cfg」から行う
前回の記事でサーバーを立てるところまでは解説しました。
まずは、そこで作成した「server.cfg」というファイルを編集していきます。
FXServerフォルダの構成をざっくりと
FXServerフォルダーは次のような構成になっています。
- cache –フォルダー
- citizen –フォルダー
- resources –フォルダー
- dllファイル
- その他(server.cfgなど)
「cache」フォルダーはサーバーに変更を加えるたびに削除することをおすすめします。
(サーバーを起動すると自動的に作成されます。)
車両やマップ、サーバーサイドのスクリプトなどは「resources」フォルダに導入することになります。
(車両やマップについてはまた別の記事で解説します。)
「server.cfg」でできること
「server.cfg」の中身はデフォルトではこのようになっています。
# you probably don't want to change these! # only change them if you're using a server with multiple network interfaces //使用するポートです。基本的には触りません。 endpoint_add_tcp "0.0.0.0:30120" endpoint_add_udp "0.0.0.0:30120" //リソースをロードします start mapmanager start chat start spawnmanager start sessionmanager start fivem start hardcap start rconlog start scoreboard //ScriptHookVを許可するかどうか? sv_scriptHookAllowed 1 //rconパスワードを設定します(後述) # change this #rcon_password yay //サーバーの名前を設定します sv_hostname "My new FXServer!" //よくわかりません # nested configs! #exec server_internal.cfg //サーバーアイコン # loading a server icon (96x96 PNG file) #load_server_icon myLogo.png //よくわかりません # convars for use from script set temp_convar "hey world!" # disable announcing? clear out the master by uncommenting this #sv_master1 "" //"#"を削除するとサーバーリストに公開されません //Steam荷ログインしているのプレイヤーのみ入室を許可するかどうか(?)(デフォルトでは無効です) # want to only allow players authenticated with a third-party provider like Steam? #sv_authMaxVariance 1 #sv_authMinTrust 5 //よくわかりません # add system admins add_ace group.admin command allow # allow all commands add_ace group.admin command.quit deny # but don't allow quit add_principal identifier.steam:110000112345678 group.admin # add the admin to the group //よくわかりません # hide player endpoints in external log output #sv_endpointprivacy true
コメントアウトで「よくわかりません」としているところは私が使っていない項目です(笑)
#がついている項目はコメントアウトされているので、有効化されてません。
サーバーの名前の設定
サーバーの名前はデフォルトではこのようになっています。
sv_hostname "My new FXServer!"
この項目を変更することでFiveMのサーバーリストに表示される名前を変更できます。
(例:私のサーバーの場合)
sv_hostname "Route894/Drift/Touring/Maps/Akina/Usui/Akagi/Nordschleife/40vehicles(beta)"
このように、サーバーの名前にどのようなサーバーなのかを明記しておくとプレイヤーにもわかりやすいです。
サーバーアイコンの設定
サーバーのアイコンはデフォルトでは無効になっています。
サーバーアイコンを設定するには以下の部分を編集します。
# loading a server icon (96x96 PNG file) #load_server_icon myLogo.png
“#”を外すだけですが(笑)
# loading a server icon (96x96 PNG file) load_server_icon myLogo.png
あとは96*96のサイズでPNG形式の画像を用意しましょう。
私は作成した画像をサーバーのメインフォルダーに置いています。
rconパスワードの設定
次の項で解説するiceconを利用するためのパスワードを設定します。
# change this #rcon_password yay
iceconを利用する場合は必ずパスワードを変更しておきましょう。
(“#”の削除を忘れないように)
(例) # change this rcon_password 114514
サーバーコンソールツール「icecon」
FiveMではサーバーコンソールとして「icecon」というツールが用意されています。
これを使うことでサーバーに関するあらゆることができます。
ダウンロード
iceconは以下のリンクからダウンロードできます。
ご自身のOSに合わせてダウンロードしてください。
(Windows 32bit: _i386.exe / 64bit: _amd64.exe)
基本的な使い方
iceconを起動するとこのような画面が現れます。
- Quit: iceconを終了する
- Connect: サーバーと接続する
- 黄色: rconコマンドを入力する
- ピンク: コマンドの結果
非常にシンプルですね。
iceconを利用する手順は以下のとおりです。
- サーバーを起動する
- iceconとサーバーを接続する
- コマンドを入力
Connectを選択すると上のような画面が現れます。
- Address: IPアドレス:ポート(30120)(例:114.514.8.10:30120)
- Password: server.cfgで設定したrconパスワード
これで初期設定は完了です。
よく使うコマンド
サーバーを運用するうえでよく使うコマンドをまとめてみます。
詳しくは以下のリンクをご覧下さい。
command | function |
restart sessionmanager | sessionmanagerをリスタート |
status | サーバーにいるプレイヤーの情報を表示 (ID, steamID(or IP), name, IP) |
clientkick ID | プレイヤーをキックします(例: clientkick 15) |
say ~ | サーバーにチャットを送信 (例: say hi!→ サーバー内チャット: client: hi!) |
キックはそのセッションから退出させ、バンは永久に入室できないようにします(多分)
コンソールからチャットで発言する”say”を使うタイミングは限られてくると思いますが、例えば「サーバーを編集したいから一旦落としたい」といった時に「say This sever will down to edit. Pleas disconnect.」といったアナウンスをしてあげたりするのはありかもしれません。
restart sessionmanager
サーバー上で変更を行った場合は、「cache」フォルダーを削除した上で”restart sessionmanager”を行うとローディングエラーが起こりにくくなります。
私はサーバーになんらかの変更を行ったときに毎回行っています。
(特に車両やマップの変更を行ったとき)
- 「cache」フォルダーを削除してからサーバーを起動する
- iceconで「restart sessionmanager」を行う
- サーバーを終了させる
- サーバーを再び起動
ローディング画面の設定方法
FiveMのローディング画面はサーバーの情報を伝えるための大事な役割を果たしてくれたりもします。
デフォルトのローディング画面では味気なかったりもするので、どうせサーバーを公開するのならローディング画面も独自に設定しておきたいものです。
ローディング画面の設定ファイル
ローディング画面のカスタムは以下の場所から行います。
「keks」フォルダーの中身はこのようになっています。
- __resources.lua
- bankgothic.ttf
- index.html
- keks.css
- lordscreen.jpg
ローディングスクリーンはhtmlで読み込まれます。
一度でもhtmlを編集したことがあれば大体のことはファイルを見ればわかるでしょう。
(なくても別に難しくありません。ファイルを見ればわかるレベルです。)
htmlを開くときはCrescent Eveなどのhtmlエディタが便利です。
ローディング画面のカスタムを有効にする
ローディング画面のカスタムを有効にするにはserver.cfgに以下のコードを追加してください。
start keks
ローディング画面の背景画像
ローディング画面の背景には「lordscreen.jpg」が読み込まれています。
このファイルを編集して独自のローディング画面を作ります。
ただし、htmlで読み込むことを考えるとファイルサイズは300KB程度に収めるのが良さそうです。
ローディング画面にBGMを設定する
ローディング画面のBGMは以下の手順で設定できます。
- 「keks」フォルダーに「music」という名前のフォルダーをつくる
- 「music」フォルダーにogg形式の音源ファイルを追加する
- __resorce.luaにファイルを追記
- 「index.html」にコードを追加
oggファイルは以下のリンクからWeb上でMP3などのファイルを変換することで作成できます。
__resource.luaをテキストエディタで開き、中の記述を以下のように変更します。
files { 'index.html', 'keks.css', 'bankgothic.ttf', 'loadscreen.jpg', 'music/Loading.ogg' //この記述を追加 } loadscreen 'index.html' resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'
次に「index.html」を開き<body>タグ直下に以下のコードを追加してください。
<audio id="Loading" autoplay loop > <source src="music/Loading.ogg" type="audio/ogg"> </audio> <script> var vid = document.getElementById("Loading"); vid.volume = 0.2 </script>
最後にserver.cfgを開いて次の記述を追加してください。
start keks
変更直後にサーバーに入る前に、「cache」フォルダーを削除しiceconで「restart sessionmanager」を行ってください。
チャット機能
FiveMのチャット機能はGTAオンラインのチャットとは異なる部分が多々あります。
チャットから車両の削除や呼び出しといったコマンドを使えるようにしたりもできます。
FiveMのチャットでもIMEが使えるようになった
つい最近(8/12)まではFiveMのチャットで日本語入力(IME)が利用できませんでしたが、最新のアップデートによって日本語入力が可能になりました。
質問してみるもんですね(笑)
(これがきっかけじゃないとは思うけど気付けて良かった)
チャットの有効化
チャットはデフォルトの状態で有効になっているはずです。
もし有効になっていなければserver.cfgを開いて次の記述を追加してください。
start chat
GTAオンラインのチャットを使用する(非推奨)
(画像は日本語入力を可能にするために試行錯誤していた時のものです(笑))
このようなGTA:Onlineと同様のチャットを利用したい場合はserver.cfgから「start chat」を削除してください。
しかし、FiveMでこのチャットを利用するのは不安定な面が多いとのことです。
また、チャットを利用したコマンドも利用できません。
チャットにコマンドを追加する
FiveMのチャットは様々なコマンドを入力するコンソールとしても使うことができます。
車両の削除コマンド
車両を呼び出すコマンド
チャットの背景を透明にする
FXServerのチャットは毎回チャットボックスに背景が表示されて鬱陶しく感じますよね。
そんなわけで、チャットの背景を透明にしちゃう方法を紹介しておきます。
この場所にある「config.default.js」を同じ場所にコピーして「config.js」にリネームします。
そして、「config.js」をテキストエディタなどで開き、次の行を書き換えます。
(メモ帳だと編集しづらいので別のエディタを使うことをおすすめします)
style: { background: 'rgba(52, 73, 94, 0.7)', width: '38%', height: '240px', } };
編集するのは”background: ‘rgba(52, 73, 94, 0.7)’,”の行です。
style: { background: 'transparent', width: '38%', height: '240px', } };
チャットの名前にroles(役割)を追加する
この画像のようにチャットの名前の横にそのサーバーでの役割を表示できるようにするといろいろ便利そうです。
このような表示にするには以下のスクリプトを使います。
導入方法は簡単で、「Download Here – FX Version!」からzipファイルをダウンロードし、「resources」フォルダに「rolesFX」をフォルダーごといれてください。
server.cfgに”start rolesFX”と追記することもお忘れなく。
roles(役割)を追加する方法
「rolesFX」フォルダーの「sv_chat.lua」を開きます。
ファイルの先頭はこのような記述になっています。
local Director = {"steam:","ip:",} local Admin = {"steam:","ip:",} local HighwayPatrol = {"steam:","ip:",} local Fire = {"steam:","ip:",} local EMT = {"steam:","ip:",} local Sheriff = {"steam:","ip:",} local Moderator = {"steam:","ip:",} local StateTroopers = {"steam:","ip:",} local Test = {"steam:","ip:",}
ここにSteam IDもしくはIPアドレスを記入してください。
IDやIPの取得は、iceconの”status”というコマンドから行えます。
例1:local Director = {"steam:111111111111111","ip:",} 例2:local Admin = {"steam:","ip:111.111.1.1",}
追記:8/16のサーバーアップデートで仕様が若干変更になりました。
このサーバーアップデートではrconコマンドの”status”で取得できるプレイヤー情報が変わっています。
具体的にはこんな感じです。
before: ID/steam or IP/name/IP after: ID/steam or license/name/IP
もうお分かりですね?
これまではSteamにログインしているプレイヤーはSteamIDを、そうでなければIPを取得していました。
しかし、今回のアプデからはSteamにログインしていないプレイヤーは(SocialClub版)”license”を取得するようになりました。
したがって、rolesFXのコードも以下のようになります。
例1:local Director = {"steam:111111111111111","license:",} 例2:local Admin = {"steam:","license:111111111111111111",}
最後に
とりあえず一通りまとめてみました。
ここに書いてあるすべてを実装する必要はないと思いますが、FiveMの情報が日本ではあまり出回っていないので少しでも多くの皆さんのお役に立てればと思います。
次回は、車両MODやマップMODの情報をまとめる予定です。