2人用の検証用で1日当たりのお支払いができる Kagoya VPS で1日95円でサーバーを立てる
サーバーの選択
Ubuntu 20.04
4コア メモリ4GB ハードディスク600GB
セキュリティグループ
tcp | 自分の接続用IP | 22 | 管理用SSH |
tcp | * | 30110 | FiveM用 |
tcp | * | 30120 | FiveM用 |
tcp | * | 40120 | FiveM用 |
udp | * | 30110 | FiveM用 |
udp | * | 30120 | FiveM用 |
udp | * | 40120 | FiveM用 |
メモリが足りないのでswapメモリを追加する
メモリが少ないときにHDDから10GBメモリ分を追加する
fallocate -l 10G /swapfile2
chmod 600 /swapfile2
mkswap /swapfile2
swapon /swapfile2
sed -i '$ a /swapfile2 swap swap defaults 0 0' /etc/fstab
確認
free -m
アップデート
apt update && apt upgrade -y
MariaDBのインストール
apt install mariadb-server -y
mysql_secure_installation
rootユーザー用のパスワード入力
change root password をn
remove annonymouse users? Y
Disallow root login remotely Y
Remove test database and access to it? Y
Reload privillege tables now? Y
FiveMディレクトリ作成
mkdir fivem_server && cd $_
サーバーから最新版をダウンロードする
https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/
ここからLATEST RECOMMENDEDのボタンを右クリックでURLをコピー
wget の右側につける
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/6683-9729577be50de537692c3a19e86365a5e0f99a54/fx.tar.xz
解凍する
tar --no-same-owner -xvf fx.tar.xz && rm fx.tar.xz
MariaDB (mysql)のユーザーを作成
usernameにユーザー名 、passwordを入力する(英字のみ)
mysql
create user 'username'@'%' identified by 'password';
grant all privileges on *.* to 'username'@'%' identified by 'password';
GRANT ALL ON *.* TO 'username'@'%';
flush privileges;
exit
サーバーアプリを起動する
screen -S fivem bash ./run.sh
接続は閉じずにブラウザから操作する
FiveMのライセンスキーを発行する
(アカウントの作成は省略します)
Register a new serverを押す
Display name サーバ名適当
Initial server IP addresss サーバーのIPアドレスを入れる
Server type VPS
which server provider are you using? kagoya
Generateを押して、 ライセンスキー をコピーする
ブラウザで、http://サーバのIP:40120 に接続する
先ほどのSSH接続画面のPINを入力してLinkAccount
パスワードを2回いれて Licenseにチェックをつけて、 Create Master Account
Nextを押して
Server Name にサーバー名を入力
Popular Recipes[RECOMMENDED]を選択
QBCore Frameworkを選択
サーバーのFiveMインストール場所を選択
Go to Recipe Deployerを押す
Step1. RecipeをNextを押す
Step2 先ほどコピーしたライセンスキーを貼付ける
Show/Hide Database options(Advanced)
Database UserNameを先ほどMariaDBで作ったユーザー
Database Password にパスワード
Run Recipeを押す
100%になったら Doneを押して Save & Run Serverを押して開始する
ここからDownload Clientを押して ダウンロードをする
Playを押して 検索にサーバー名をいれるか
>IPアドレスを入れる
※↑かっこも重要
MODは有料と無料がある
QBCoreのをダウンロードする
https://forum.cfx.re/c/development/releases/7
https://github.com/AvarianKnight/pma-voice
https://github.com/TayMcKenzieNZ/rpemotes
rpemotesのgitがアクセスできなくなった
→ 変わりにここから取得した https://github.com/djontop/rpemotes
modはインストールした場所のresourceに入れる
/home/fivem_server/txData/QBCore***********/resources
Txadminの日本語化
https://github.com/Yagami-Huki/txAdminJP
サーバーのコマンドとかはこことか参考になりました
https://gamesv.mcpoteton.com/game-server/qbcore-setting
txadminのDLC設定
Settings > FXServer > Additional Arguments
+set sv_enforceGameBuild DLC番号
DLC番号は下記から
https://zap-hosting.com/guides/docs/fivem-gamebuild/
旗を日本に変える server.cfg
sets locale "ja-JP"
サーバーの説明欄にTwitterのURLを載せる server.cfg
sets Twitter "https://twitter.com/Misaki_Vanilla"
FiveMのキャッシュフォルダ
C:\Users\ユーザー名\AppData\Local\FiveM\FiveM Application Data\data
FiveMとRockstargameのアカウント紐付けはこのファイル
C:\Users\ユーザー名\AppData\Local\DigitalEntitlements
FiveMの設定ファイルの場所
C:\Users\ユーザー名\AppData\Roaming\CitizenFX
txadminの自動起動のサービス化について
/etc/systemd/system/fivem.service
[Unit]
Description=FiveM Server txadmin
[Service]
Type=simple
User=root
ExecStart=/bin/screen -DmS fivem /bin/bash ./run.sh
ExecStop=/bin/screen -DmS fivem -X quit
WorkingDirectory=/home/fivem_server
[Install]
WantedBy=multi-user.target
ステータス確認
systemctl status fivem
開始
systemctl start fivem
停止
systemctl stop fivem
再起動
systemctl restart fivem
自動起動登録
systemctl enable fivem
自動起動登録解除
systemctl disable fivem
最新のtxadminは txadminのDiscordで配布するようになった。
AlmaLinux
同じようにサービスを作っても動かない
Screenが入っていないので、このコマンドでインストール
# dnf install epel-release
# dnf --enablerepo=epel install screen
パスが /usr/bin/の下に入っていました
どこに入ってるか確認は which screen や which bashで確認できます。
[Unit]
Description=FiveM Server txadmin
[Service]
Type=simple
User=root
ProtectHome=false
ExecStart=/usr/bin/screen -DmS fivem /usr/bin/bash ./run.sh
ExecStop=/usr/bin/screen -DmS fivem -X quit
WorkingDirectory=/home/fivem_server
[Install]
WantedBy=multi-user.target
パーミッションエラーで起動できない場合 このようにscreenを使わないで動かす
[Unit]
Description=FiveM Server txadmin
[Service]
Type=simple
User=root
ExecStart=/bin/bash /home/fivem_server/run.sh
ExecStop=/bin/bash -c "screen -S fivem -X quit"
WorkingDirectory=/home/fivem_server
[Install]
WantedBy=multi-user.target
または、Almalinuxは初期で、SELinuxという機能が有効になっていて防がれているので 無効にすると動きます。
このファイル
sudo vi /etc/selinux/config
enforcingの部分
SELINUX=enforcing
↓にして無効にする
SELINUX=disabled