7/24,25は不在のためブログの対応ができません。(質問やコメントは常に受け付けています。)

[FiveM]サーバーサイドで車両を追加する方法を解説![Replace/Add-On]

FiveM

 

どうも元マヨラーのHachiQ4です。

今回は、FiveMのサーバーを立てる方法講座第3弾として「実車MODを入れる方法(サーバーサイド)」というテーマで解説していこうと思います。

なんやかんやでサーバーを建てるときに知りたいことってこれじゃないでしょうか(笑)

スポンサーリンク

FiveMについて

FiveMについての基本的なことから導入方法まではこちらの記事で解説しています。

GTA5でMODが使えるオンライン「FiveM」の基本的な導入方法と使い方の解説
どうも最近お気に入りのプロテインはレモン味なHachiQ4です。 今回は、通常はMODの類が一切アウトなGTA5オンラインの代わりに、MODが使えちゃうオンラインプレイを楽しむことができるFiveMの基本的な導入方法と使い方について解...続きを読む

ちなみに、私が公開しているサーバーもあります(笑)

FiveMサーバーを公開しました!みんなでドライブを楽しもうぜ!「Route894」
どうも夏バテ気味のHachiQ4です。 今回は、FiveMのサーバーを試験的に公開してみたのでそのご紹介をしてみようと思います。 今後も改良を続けてより多くの方々といっしょに楽しめればなと思います。

 

FiveMサーバーを立てよう講座

第一弾:「自分でサーバーを立てよう!(FXサーバー)」

FiveMのサーバーを立てる方法を解説!ただし、ポート開放とか車の入れ方とかそういうのはまた今度ね♪
どうも1年間で15kgも痩せてしまったHachiQ4です。 今回は、自分でFiveMのサーバーを立てて遊ぶまでの方法を解説していこうと思います。 ただし、ポート開放や車両の導入などはまた別の機会にしたいと思います。 ...続きを読む

第二弾:「サーバーの基本的な設定を済ませよう!」

FiveMサーバーの基本的な設定方法解説:キックやバンの仕方、サーバーの名前の変更、アイコンやロード画面の設定などなど
どうも朝ごはんのデザートもプロテインなHachiQ4です。 今回は、FiveMのサーバーの立て方解説第二弾として、サーバーの基本的な設定方法を私の分かる範囲で解説していきます。 この辺の設定を済ませておいた上でサーバーを...続きを読む

第三弾:「サーバーに車両MODを追加しよう!」

[FiveM]サーバーサイドで車両を追加する方法を解説![Replace/Add-On]
どうも元マヨラーのHachiQ4です。 今回は、FiveMのサーバーを立てる方法講座第3弾として「実車MODを入れる方法(サーバーサイド)」というテーマで解説していこうと思います。 なんやかんやでサーバーを建てるときに知...続きを読む

第四弾:「サーバーにマップMODを入れてみよう!」

FiveMのサーバーにマップMODを導入する方法を解説![マップごとReplace]
どうもカレーには生卵をトッピングするHachiQ4です。 今回は、FiveMのサーバーを立てる方法講座第4弾!FiveMサーバーにマップMODを入れる方法の解説です。 Add-On形式で導入する方法がよくわかってないので...続きを読む

第五弾:「サーバーを公開してみよう!」

[FiveM]サーバーを公開しよう!ポート開放の解説、安全性やその他おすすめしておきたいこと
どうもFiveMサーバーを立ててから明らかにゲームの時間が増えたHachiQ4です。 今回は、「FiveMサーバーの立て方講座」第五弾として、サーバーの公開方法とそれにまつわる色々なことについて解説していきます。 ここま...続きを読む

最終回(仮):「サーバーにプレイヤー情報を保存しよう!EssentialModeBase」

[FiveM]サーバーの管理・運営に便利な「EssentialModeBase」の導入方法の解説!サーバーにプレイヤー情報を保存できて便利!なんでもできちゃう!
どうも最近ローソンの牛乳寒天がお気に入りのHachiQ4です。 今回は、FiveMサーバーの管理・運営に便利な「Essential Mode base」の紹介と導入方法の解説をしてみようと思います。 データベースを作成し...続きを読む

 

作業がやりやすくなるようにいいもの作ったよ!

毎度毎度フォルダーやファイルを作るのはぶっちゃけめんどいので、自分なりのテンプレートを作って使っています。

せっかくこんな記事を書いたので、みなさんにもお使いいただけるようにテンプレートを配布します。

(利用方法はreadme.txtをご覧下さい。)

[FiveM]Add-On Folders Template
MODや画像の使用についてのガイドラインをよくお読みください。

 

バニラの車両と入れ替える(Replace)

とりあえず一番手っ取り早く実車MODを導入する方法としてReplace形式で導入する方法があります。

ただし、いくつか問題点もあるのでその辺も踏まえて解説していきます。

 

参考:

[How-to] Stream vehicles/models from server to client
Introduction This tutorial is for people who host their own server and want to stream vehicles or models towards their players. Please note that this tutorial i...続きを読む

 

準備するもの

  • ご自分のFiveMサーバー
  • 入れ替える車両MODのファイル(.yft,ytd…)
  • OpenIV(あった方がいい)
  • テキストエディター(あったほうがいい)

 

「resources」フォルダーに新しいフォルダーをつくる

まずはMODを導入するための最初の準備として、Replace車両を導入する場所を用意します。

FiveMのサーバーにMODを追加するときは「resources」フォルダーに追加します。

とりあえず今回は実車MODを導入するということで「vehicles」という名前のフォルダーにでもしておきます。

(このフォルダーの名前は何でもいいです。任意の名前にしてください。)

 

「__resource.lua」と「stream」フォルダーをつくる

次に「vehicles」フォルダーにファイルを読み込ませるためのファイルとフォルダーを用意します。

  • stream   ——フォルダー
  • __resource.lua

「__resource.lua」を作るときは、新規テキストファイルを作成しファイル名を「__resource.lua」に変更します。

(拡張子の警告が出ますが気にしなくてOK)

ファイルには何も書かなくて大丈夫です。

 

入れ替えるMODを「stream」フォルダーにコピーする

あとはMODを入れるだけです。

「stream」フォルダーに入れ替える車両のモデルとテクスチャーをコピーしてください。

例えば

[vehicles]

—–“__resource.lua”

—–[stream]

———banshee.yft

———banshee.ytd

———banshee_hi.yft

 

改造パーツを入れたいとき/複数の車両を入れたいとき

実車MODの改造パーツも車両モデルなどと同じように「stream」フォルダーに追加します。

ただし、後々わかりにくくなったりするので以下のようにフォルダしておくとわかりやすいかもしれません。

[stream]

—[banshee]

———banshee.yft

———banshee.ytd

———banshee_hi.yft

———banshee_mods.rpf

—[sultan]

———kuruma.yft

———kuruma.ytd

———kuruma_hi.yft

———kuruma_hi.ytd

———kuruma_mods.rpf

 

ちなみに、改造パーツはrpf形式でもそれを解凍して個別に導入しても反映されます。

 

「server.cfg」に追記する

server.cfgに以下のコードを追加してください。

start vehicles

(「vehicles」はフォルダーの名前です。)

導入は以上です。

車両を新しく導入したら「cache」フォルダーを削除し、前回の記事で解説した「restart sessionmanager」を実行しておきましょう。

(やっておかないとサーバーに入るときに”Couldn’t load sessionmanager”というエラーが出たりします。)

 

問題点:handling.metaなどがクライアント側に依存する

Replace形式であれば驚くほど簡単に実車MODを導入できるので多数の車両を導入したい時に便利な方法です。

ところが、Replace形式で導入できるのはモデルとテクスチャだけなので、handling.metaやvehicles.meta、carcols.metaといったファイルはクライアント側に依存します。

つまり、サーバー側でbansheeのハンドリングを変更することはできません。

(もちろんbanshee以外のバニラ車両についても同様)

ハンドリングに関しては、ユーザーに自由に編集してもらえばいいと思うのですが、改造パーツやメーターを動かすためにはvehicles.meta、carcols.metaを導入してもらう必要があります。

(ただ単にモデルを入れ替えたいだけならばmetaファイルは必要ありません)

 

私のサーバーもReplace形式の車両の改造パーツを反映させるためのファイルをクライアントに導入してもらえるようにしています。

Route894 -Required files
How To Install Open your "FiveM Application Data" Paste files thereChange logv1.1-2017/8/22:change the handl

 

車両を追加する(Add-On)

正直言ってAdd-On車両の導入にはいくつか不安定な点があります。

Replaceのようにどの車両も同じように導入できるわけではないのです…。

(基本は同じですが)

しかし、ハンドリングやチューニングなどをサーバーサイドで統一することができるというメリットは大きいです。

とりあえず、私が把握している導入方法と問題点をまとめてみます。

 

参考:

[How-To] Add-on Vehicles (Detailed)
Hello, This is a thorough tutorial on installing add-ons with vehicle mods, etc. Before installing add-ons, you need to make sure the .YFT files are below 1...続きを読む

 

準備するもの

  • ご自分のFiveMサーバー
  • Ad-On車両MODのファイル(.yft,ytd…)
  • OpenIV
  • テキストエディター(あったほうがいい)

 

「resources」フォルダーに新しいフォルダーをつくる

Replace形式と同様にAdd-On車両を導入するフォルダーを用意します。

この時、一つのフォルダーで複数の車両を導入するのではなく、1つの車両ごとにファルダーを作成することをおすすめします。

もちろん、metaファイルをひとつにまとめることができる方は1つのフォルダーにAdd-On車両をまとめて問題ありません。

例:)

[resources]

—…

—[add-r34]

—[add-r35]

—[add-s14]

—…

(フォルダー名は任意)

 

「__resource.lua」と「stream」フォルダーをつくる

「resources」フォルダーに作ったフォルダーごとに「__resource.lua」と「stream」フォルダーが必要です。

 

例)

[resources]

—…

—[add-r34]

———[stream]

———“__resource.lua”

—[add-r35]

———[stream]

———“__resource.lua”

—[add-s14]

———[stream]

———“__resource.lua”

—…

 

「dlc.rpf」を開き中身を書き出す

Add-On車両は大体の場合でdlc.rpfの形でまとめられています。

しかしながら、そのままではFiveMのサーバーに導入することができないので中身を個別に書き出す必要があります。

また、それぞれのファイルの場所はMODによって異なったりしますが、基本的には「data」にmetaファイル「x64」にモデルファイルがあります。

 

書き出すべきファイルは以下のものです

  • vehicles.meta
  • carcols.meta(改造可能にしたい場合)
  • carvariations.meta(改造可能にしたい場合)
  • handling.meta
  • vehiclelayouts.meta (必須ではありません)
  • 車両と改造パーツのモデルとテクスチャー

MODによって「vehiclelayouts.meta」があるものとないものがあります。

 

“vehicle_names.lua”について

ぶっちゃけよくわかってません(笑)参考までにどうぞ。

「vehicle_names.lua」は必須ではありません。

なくても動くし、あっても動かないことがあります。

ちなみに、このファイルは”__resourcce.lua”と同じ手順で作成します。

その中の記述は以下のようになります。

Citizen.CreateThread(function()
	-- Nissan GTR
	AddTextEntry('0x9790D1BD', 'gtr')
end)

‘0x9790D1BD’という数字はハッシュと呼ばれるものです。

これはOpenIVで”dlc.rpf/x64/data/lang/american/global.gx2″開くとその中に数字が並んでいます。

 

モデルやmetaファイルをフォルダーにコピーする

Replace形式と同様にモデルファイルとテクスチャーファイルを「stream」フォルダーにコピーします。

また、改造パーツも同じように「stream」フォルダー内にコピーします。

さらに、Add-On車両の場合はサーバー側でmetaファイルを用意してあげなければいけないので、metaファイルたちを「stream」フォルダーと同じ場所に入れておきます。

 

例)

[resources]

—…

—[add-r34]

———[stream]

———“__resource.lua”

———“carcols.meta”

———“carvariations.meta”

———“handling.meta”

———“vehicles.meta”

———“vehiclelayouts.meta”

———“vehicle_names.lua”

 

「__resource.lua」の記述

Replace形式では何も記述しませんでしたが、Add-On車両を読み込ませるためにはいくつかのファイルが必要なので、それらを読み込むための記述をしなければいけません。

resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'

files {
    'vehicles.meta',
    'carvariations.meta',
    'carcols.meta',
    'handling.meta',
    'vehiclelayouts.meta'    //必須ではありません
}

data_file 'HANDLING_FILE' 'handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta'
data_file 'CARCOLS_FILE' 'carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'vehiclelayouts.meta'   //必須ではありません


client_script {
    'vehicle_names.lua'    //必須ではありません
}

この記述を見ればだいたいわかると思いますが、これはどのファイルを読み込むのかを指定したものです。

「vehiclelayouts.meta」と「vehicle_names.lua」は車両によっては必要ありません。

 

「server.cfg」に追記する

server.cfgに以下のコードを追加してください。

start フォルダ名

導入は以上です。

車両を新しく導入したら「cache」フォルダーを削除し、前回の記事で解説した「restart sessionmanager」を実行しておきましょう。

(やっておかないとサーバーに入るときに”Couldn’t load sessionmanager”というエラーが出たりします。)

 

問題点1:ytdファイルのサイズを16MB以内に収める必要がある

ytdファイルには車両のテクスチャーが入っていますが、このファイルのサイズが16MBを超えているとうまく動作しないことがあるようです。

Liveryに対応している車両の場合は元々ファイルサイズが大きいことがあるので、OpenIVで開いて不要なスキンを削除しておきましょう。

【GTA5】車両スキンの作り方・導入方法講座!痛車作るのって意外と簡単だぜ!【livery/Paint job】
どうもお察しのとおりカープファンなHachiQ4です。 今回は、GTA5で痛車なんかを再現できる車両スキン(livery/Paint job)の作り方を解説していこうかなと思います。 非常に簡単ですので皆さんもチャレンジ...続きを読む

 

問題点2:「modkit」の値を変更する必要がある(場合がある)

チューニングパーツのあるなしに関わらず、車両の改造を行うには「modkit」の値が適切である必要があります。

これに関しては有効なチュートリアルが見つからないので私も苦労しています…。

この値は「carcols.meta」と「carvariations.meta」の両方に同じ値を記述する必要があります。(車両ごと)

 

carcols.meta

<Item>
      <kitName>1912_gtr_modkit</kitName>
      <id value="1912" />

carvariations.meta

<kits>
        <Item>1912_gtr_modkit</Item>
      </kits>

それぞれのファイルにこのような記述がされているはずです。

このままできちんと動作してくれればいいのですが、なかなかそうもいかなかったりします。

そんなわけで車両を改造できるようにするためにはこの値を探さなければならりません。

(おそらくほかの車両と同じ数字は使えない)

 

FiveMのフォーラムでは「1008から1967までなら動くぜ!」とか「1001から1007までは既に使われてるから1008から1024までを使おう」とかいろいろ言われていますが、これといった確実な数字はなさそうです。

私の環境では、1018が動いても1017では動かなかったり、1665はいけるのにその前後の数字はダメといった感じです(笑)

こればっかりは一つ一つテストして動くものを探す他なさそうです。

(Route894では20台くらいは改造可能にできました)

 

問題点3:「vehiclelayouts.meta」の問題(未解決)

上記の改造への対応の問題だけでなく、MODによっては車両を呼び出して乗り込もうとしたらFiveMがクラッシュするものがあります。

私の環境では、その多くが「vehiclelayouts.meta」を持っている車両です。

(というかそれでしか起こってない)

すべてのMODに「vehiclelayouts.meta」が必要なわけではないので、これを必要としていないMODはほぼ100%クラッシュしません。

(modkitは別問題として)

 

そんなわけで、FiveMのフォーラムで質問した結果がこちらです。

HachiQ4
vehiclelayouts.metaが必要な車両に乗り込むとクラッシュするんやけどなんででっしゃろ??
優しい人
metaファイルにタイプミスがないか、テクスチャーファイルが16MBを超えていないか確認してみそ。

 

metaファイルの記述ミスなんかわかるわけないやん…

しかしながら、とりあえず試してみないといけないので以下のことを試してみました。

 

閉じタグ</example>が正しく使われているかどうか

GTA5のmetaファイルはxmlの記述方式で書かれています。

そんなわけで基本的には<example>のようなタグが使われています。

(htmlに近いのでかなり理解しやすいのかしら)

タグは通常<example>xxxxxxxxxxx</example>のように使います。

しかしながら、metaファイルを読んでみると割と</example>のように閉じタグだけが使われていることがありました。

まれに<example />のような記述も見受けられます。

(これは正しい記述方式)

 

データの入っていないタグは消しちゃえ~

とりあえず右も左もわからない私は気になったところはサクサク消してみることにしました。

 

データが入っている例

<AgitatedClipSet>clipset@veh@low@ds@idle_agitated</AgitatedClipSet>

データが入っていない例

</AgitatedClipSet>

このような閉じタグだけの場合はそのタグを片っ端から削除しました。

 

結論:動くやつは動くし動かない奴は動かない

ところがどっこい、こんなことをしても動きません。

「vehiclelayouts.meta」が必要だからといって100%動作しないわけではありません。2~3割くらいは動作してくれます。

もしかしたら問題は別のmetaファイルにあるのかもしれませんが、私にはお手上げです(笑)

これまたご存知の方がいらっしゃいましたらぜひご教授くださいm(_ _)m

 

最後に

自分なりに理解できたポイントをまとめてみましたが、ほとんどよくわかっていません。

それでも意外となんとかなるっちゃなんとかなるので私みたいに無理してAdd-Onを改造可能にしようとしない限り苦労することはないでしょう(笑)

実際に作業をしてみてわからないことがあったらこのサイト内のフォーラムで質問してみてください!

コメント