序文
最近、非常に優れた Xianxia モバイル ゲームを発見しました。Android と Apple のデュアル クライアントを備えています。デュアル ゾーンでクロスサーバー機能を備えています。グラフィックは非常に美しく、ゲームプレイは非常に豊富で、バグはほとんどありません。他には何もありません、サーバーを長く開けておきます、フェアリードリームですよ~
この記事では、Fairy Tale モバイル ゲームのセットアップ方法を説明します。きっとこの Fairy Tale モバイル ゲームを気に入っていただけると思います。ゲームは長期間メンテナンスされていますので、ぜひプレイしてください~ ゲーム クライアントとソース コードのダウンロード用、私の公開アカウント echeverra をフォローして、「妖精孟とロマンス」のダウンロードに返信してください。バックステージ GM は「Xianmengqiyuan GM」と答えて取得します。
私がセットアップした他の H5 ゲームもいくつかお勧めします: H5 ゲームの概要、プレイへようこそ~
ゲームのスクリーンショット:
[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-whJ1SmCw-1689210284317)(https://echeverra.cn/wp-content/static) /article-img/xmqy/20230712141505.jpg)]
直立
1. 勃起条件
フェアリーランドの建設には次の準備が必要です。
- Linux サーバー、CentOs バージョン 7.6 を推奨、軽量のアプリケーション サーバーを推奨、コスト効率に優れています。
- ゲームのソースコードは、私の公開アカウントecheverraをフォローして「Fairy Dream」を送信して入手してください。
サーバーは 2H4G 構成が推奨されており、ゲームは約 2.8G のメモリを消費します。
2. パゴダと環境をインストールする
Pagodaはサーバー運用保守管理ソフトウェアで、インストールコマンドは以下の通りです。
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
インストール後、プロンプト情報に従って Pagoda にログインし (アクセスできない場合は、サーバーがポート 8888 を開いていない可能性があります。ポートを開く手順を参照してください)、Pagoda で次のソフトウェアを検索します。インストールするソフトウェア ストア:
- ウェブサーバー: Nginx1.18
- データベース: MySQL 5.6
- プログラミング言語: PHP 5.6
- データベース管理ツール:phpMyAdmin 4.4
3. ファイアウォールをオフにする
Pagoda メニュー ターミナルから、ファイアウォールをオフにするコマンドを実行します。
systemctl stop firewalld.service
systemctl disable firewalld.service
4. ポートを開く
すべてのポート 1 ~ 65535 を直接開き、Alibaba Cloud サーバーがセキュリティ グループにルールを設定します。
Tencent Cloud Server はファイアウォールにルールを構成します。
次に、Pagoda メニューのセキュリティですべてのポートを開きます。
5. ソースコードをアップロードする
ソースコードを取得したら、サーバーディレクトリにあるxmqy.tar.gz
圧縮ファイルをPagoda経由でルートディレクトリにアップロードします(Pagodaがルートディレクトリへのアップロードを禁止している場合は、他のパスをアップロードしてルートディレクトリにカットアンドペーストすることもできます)。
アップロードが成功したら、ターミナル コマンドを使用して解凍します。
cd /
tar zxvf xmqy.tar.gz
解凍が完了すると、コマンドにより 777 のアクセス許可が付与されます。
chmod -R 777 /www/wwwroot/xmqy
chmod -R 777 /home/sql
chmod -R 777 /home/xmqy
chmod 777 /home/sk
6. 環境を構成する
gcc 動的ライブラリをインストールします。
yum install gcc -y
yum install gcc-c++ -y
yum install glibc* -y
ldconfig
7. ソースコードのIPを変更する
ソース コード内の IP (192.168.1.1) は、独自のサーバー IP に置き換える必要があります。
- /home/xmqy/cross/debug/commonconfig.xml
- /home/xmqy/cross/debug/serverconfig.xml
- /home/xmqy/s1/debug/commonconfig.xml
- /home/xmqy/s1/debug/serverconfig.xml
- /home/xmqy/s2/debug/commonconfig.xml
- /home/xmqy/s2/debug/serverconfig.xml
- /www/wwwroot/xmqy/api/getserverand003.php
- /www/wwwroot/xmqy/gm/user/config.php
最初のcommonconfig.xml
ファイルを例に挙げると、パゴダでファイルを見つけ、ダブルクリックして変更し、Ctrl+F を押して IP をバッチ置換します。
8. ホットアップデートパッケージを変更する
次に、ホットアップデートパッケージファイルの両端のIPを変更する必要がありますが、桁数を指定する必要があることに注意してください。これは、0 またはドメイン名を追加することで実現できます。
8.1 Android ホット アップデート パッケージ
Android ホット アップデート パッケージの IP 変更:
- /www/wwwroot/xmqy/ugxm_dev/Android/AssetBundle/LuaAssetBundle/luajit/agent
- /www/wwwroot/xmqy/ugxm_dev/Android/AssetBundle/LuaAssetBundle/luajit/init
どちらのファイルでも、IP (192.168.01.001) を 14 桁の IP に置き換える必要があります。
IP が 123.123.12.12 の場合、合計 13 桁を数えることができます。14 桁の IP を構成するには、123.123.12.012 である 0 を追加する必要があります。IP が 123.123.123.123 の場合は、15 桁になります。合計桁数なので、残念ながら、14 桁のドメイン名にのみ置き換えることができます。
上記 2 つのファイルは Pagoda で直接開くことができません。ローカルにダウンロードして Notepad++ で開き、修正後アップロードして上書きします。
8.2 Apple ホット交換パッケージ
IOS ホット アップデート パッケージの IP 変更:
- /www/wwwroot/xmqy/ugxm_dev/IOS/AssetBundle/LuaAssetBundle/lua/init
- /www/wwwroot/xmqy/ugxm_dev/IOS/AssetBundle/LuaAssetBundle/lua/agent
基本的に、インターネット上の童話チュートリアル IOS ホット パッチ修正ファイルはすべて.../LuaAssetBundle/luajit/init
間違っています。結局、IOS側は成功しませんでした。
IP (192.168.01.001) も置き換える必要があります。最初のinit
ファイルは 15 桁の IP に置き換える必要があり、2 番目のファイルはagent
14 桁の IP に置き換える必要があります。変更方法は上記と同じです。 Android ホット アップデート パッケージ。
9. データベースのインポート
Pagoda データベース メニューの root パスワードを に変更します123456
。
Pagoda ソフトウェア ストアの MySQL 5.6 設定変更に行 26 を追加します。
lower_case_table_names=1
変更後、Mysql を再起動します。
次のコマンドを使用してデータベースをインポートします。
cd /home
./sk
次に、データベースを手動でインポートしcross
、最初に Pagoda データベースにデータベースを作成しますcross
。
ローカル データベースをアップロードしcross.sql
、インポートを選択します。
10. ウェブサイトを作成する
Pagoda Web サイトにサイトを追加し、ドメイン名を入力しIP:9981
、ディレクトリを設定して\www\wwwroot\xmqy
、PHP バージョン 5.6 を選択します。
サイトを追加した後も、擬似静的を設定する必要があります。
location /api/ {
rewrite /(.*)getserverand003/$ /api/getserverand003.php;
rewrite /(.*)verify/$ /api/verify.php;
}
11. ゲームサービスを開始する
多くの操作を行った後、ようやくゲーム サービスを開始できます。
cd /home/xmqy/cross/debug/
./start.sh
cd /home/xmqy/s1/debug/
./start.sh
cd /home/xmqy/s2/debug/
./start.sh
ポートの占有ステータスを確認します。
netstat -lntp
Web サイトが占有するポートに加えて、とのポート9981
も占有し、メモリは約 2.8G を占有します。22490
1110x
2000x
12. Androidクライアント
12.1 IPの変更
リソース クライアントでこれを見つけ仙梦奇缘.apk
、360 圧縮ソフトウェアを使用して開き、次の 2 つのファイルを見つけます。
- \assets\AssetBundle\LuaAssetBundle\luajit\agent-a68dcd5d9e7bbf3ec0d5cddb447e1d62
- \assets\AssetBundle\LuaAssetBundle\luajit\init-7dd731f043e936ebdced7cf6fca7d0d3
Notepad++ で開き、192.168.001.01
14 桁の IP またはドメイン名に置き換えます。パディングを 14 桁に変更する方法については、上記のホット アップデート パッケージを参照してください。
変更を保存した後、圧縮パッケージに更新するかどうかを確認するメッセージが表示されます。[OK] を選択します。最後に、変更されたファイルの日付が最新かどうかを確認して、変更が成功したことを確認します。
12.2 署名
署名には JAVA 環境が必要です。Java 環境はhttps://www.java.com/zh-CN/download/からダウンロードしてインストールできます。
JAVA 環境をインストールした後、リソースで署名ツール ApkTool を見つけ、変更した APK ファイルをツール パスにドラッグし、[署名] をクリックします。プロセス中のバージョン番号の取得の失敗は無視できます。これは最終的な署名には影響しません。 。
12.3 シミュレータテスト
私は Yeshen シミュレーターを使用していますが、エクスペリエンスは向上していると感じています。ダウンロード リンク: https://www.yeshen.com/。
エミュレータを起動したら、apk をエミュレータに直接ドラッグしてインストールします。インストール後、ゲームを起動します。
ダウンロード ファイル インターフェイスが表示され、ホット アップデート パッケージの構成が成功したことが示されます。
リソースをロードした後、ユーザー名とパスワードを入力し、「ログイン」をクリックしてゲームに入ります。いいですね~
13. Apple クライアント
13.1 IPの変更
リソース クライアントでこれを見つけ仙梦奇缘.ipa
、360 圧縮ソフトウェアを使用して開き、次の 2 つのファイルを見つけます。
- \Payload\g16.app\Data\Raw\AssetBundle\LuaAssetBundle\lua\agent-b025dbd1cc67c7d11690d11994861da7
- \Payload\g16.app\Data\Raw\AssetBundle\LuaAssetBundle\lua\init-f5f6eabcb1c1d491a59b87a7f5fccd1b
Notepad++ で開き、192.168.001.01
14 桁の IP またはドメイン名に置き換えます。
13.1 署名
Apple 署名には、iSi Assistant: https://www.i4.cn/を使用します。
AISI アシスタント ツールで IPA を検索し、IPA 署名を見つけて仙梦奇缘.ipa
ファイルを選択し、Apple アカウントを入力すると、署名できます。
署名後、Apple 電話に正常にインストールできます。開始する前に、電話の設定 - 一般 - デバイス管理でソフトウェアを信頼する必要があります。署名は 7 日間のみ有効で、1 回に 1 回署名する必要があります問題があれば、長期の署名を見つけることができます。そして決して安くはありません。
14. ゲーム背景
ゲーム背景 GM 認証リンク: http://IP:9981/gm/gm.php
、チャージ、アイテムの送信、認証の追加とキャンセル、認証パスワードの変更、その他の機能に使用できます。/www/wwwroot/xmqy/gm/user/config.php
ファイル内のフィールドを変更して$gmcode
GM コードを設定します。
プレーヤー GM バックエンド リンク: http://IP:9981/gm
。
操作バックエンド アドレス: http://IP:9981/admin/admintool
、デフォルトのユーザー名とパスワードは両方とも ですadmin
。
15. ゲームサービスをオフにする
ゲームのバックグラウンド サービスを停止し、次のコマンドを実行します。
cd /home/xmqy/cross/debug/
./stop.sh
cd /home/xmqy/s1/debug/
./stop.sh
cd /home/xmqy/s2/debug/
./stop.sh
フォローアップ
ゲームのバグ
私はフェアリーテイルというゲームをしばらくプレイしています。最大のバグは、IOS 側でチャットを閉じるとクラッシュすることです。その後、スキンが変更されたモバイル ゲーム古代伝説のフェアリーテイルを見つけました。その IOS アプリでテストしてみたところ、クラッシュしませんでした。一連の IP 交換テストの結果、Xianmeng サーバー上の異常なデータ送信が IOS クライアントのクラッシュを引き起こしたと結論付けることができます。残念ながら、私の能力には限界があるため、当面は解決しませんいる。
アバター変更時のクラッシュなどの重要ではない小さなバグなど、その他の小さな問題は基本的に IOS 側にあります。Android側にはバグは見つかりませんでした。
ゲームの最適化
主にゲームの背景GMを最適化しましたが、アイテムファイル全体が400KB近くあるため、バックグラウンドでアイテムリストを開くのに5秒もかかり、非常にイライラするため、アイテムを合理化し、装備品の2つのファイルに分割しました。それぞれのサイズはわずか約100KBで、開く速度ははるかに速く、エクスペリエンスは完璧です〜
同時に、バックパックがいっぱいになる問題についてのゲーマーからの以前のフィードバックに応えて、バックパックをクリアする機能とメールをクリアする機能を追加しました。テストは問題ありません~
上記の最適化の変更は、 リソース 内のファイルにあり、ディレクトリgm.zip
にアップロードされ、元のディレクトリを削除し、現在のディレクトリに解凍して、777 アクセス許可を付与します。/www/wwwroot/xmqy/
gm
gm.zip
ゲームモニタリング
ゲーム ポートが異常に中断され、サービスが中断された場合は、Pagoda のスケジュールされたタスクにリスニング スクリプトを追加できます。
#!/bin/sh
XYTCPListeningnum=`netstat -an | egrep "0.0.0.0:11100" | awk '$1 == "tcp"'|wc -l`
echo $XYTCPListeningnum
if [ $XYTCPListeningnum -eq 0 ];
then
cd /home/xmqy/cross/debug/
./start.sh
cd /home/xmqy/s1/debug/
./start.sh
cd /home/xmqy/s2/debug/
./start.sh
fi
ゲームの実行後、生成されるログは比較的大きく、小さなハードディスクを搭載したサーバーにはあまり適していませんが、Pagoda のスケジュールされたタスクを通じてログ ファイルを定期的にクリーンアップすることもできます。
rm -f /home/xmqy/cross/debug/log/*
rm -f /home/xmqy/s1/debug/log/*
rm -f /home/xmqy/s2/debug/log/*
ゲームレビュー
このゲームは本当に機能が豊富でとても遊びやすいですが、私はしばらくプレイしましたが、一部の機能しか使用しませんでした。
ゲームのプロットも良く、グラフィックは非常に妖精のようで、あらゆる種類のファッション、ペット、翼があり、剣に乗ったり、雲に飛んだり、霧の中に乗ったりすることができます。それを体験するゲーム〜
多くの機能とゲームプレイがありますが、クライアントは 400 MB を超えるだけで、1 または 2G を必要とするクライアントよりもはるかに優れており、ホット アップデート パッケージ ファイルも大きくありません。Android ホット アップデート ファイルは 22.3 MB で、所要時間は 22.3 MB です。ダウンロードには約 2 分かかります。完了すると、IOS ホット アップデート ファイルは 16.9 MB になり、ダウンロードには約 5 分かかります。
思い
最近少し混乱しているかもしれませんが、グラフィック チュートリアルを書いたり、ゲームのリリースを設定したりする理由がわかりませんか? はい、インターネット上には、より直感的なビデオ チュートリアルがたくさんあります。私はそれらから利益を得ることはありませんでした。代わりに、ゲームのテスト、作成、セットアップ、メンテナンス、認証などに多くの時間を費やしました。フォロワーが1万人を超えたので、私もそこまで熱意がなくなり、ブログテーマの開発も停滞してしまいました。
もっとプログラミング技術に時間をかけて、タイムリーにまとめてアウトプットするのが良いのかもしれませんが、結局は技術力の向上が最後です。
ゲームについては、放っておいてください。リラックスできる娯楽の一種だと考えてください。私は自分が興味のあるゲームだけを研究しており、誰にも同意しません。私はここで立ち止まり、私のゲームも同様であることを願っていますあなたに幸せをもたらします、私もとても幸せになります〜
さて、上記はおとぎ話の勃起チュートリアルのすべての内容です。お役に立てば幸いです。ご質問がございましたら、私のブログ https://echeverra.cnまたはWeChat の公開アカウントecheverraを通じてご連絡ください。
「無駄にする」ことを学びましたか?
(以上)
この記事は私のブログhttps://echeverra.cn/xmqyに掲載されたオリジナル記事ですので、転載の際は出典を明記してください。
私の WeChat 公開アカウントecheverraをフォローして、一緒に学び、進歩することを歓迎します。リソースと特典は随時プレゼントされます。