エミュ鯖メイプルストーリーGMSv83構築LPM2リパック(windows10プライベート)

SnapCrab_NoName_2019-8-4_11-21-30_No-00.jpg

私の青春メイプルストーリー。ああ懐かしき思い出。久々にやったらアプデで激変していた悲しみ。

メイプルも学生の頃にはまって懐かしく、あの頃のメイプルがまたしたいと思ったので、
エミュ鯖を構築してみました。ちなみに昔のメイプルと新メイプルの境目はビッグバンアップデートのようです。
日本のメイプルストーリーではv83が懐かしき昔のメイプルストーリーの最終バージョンになります。

日本版はちょっと起動できない感じなので、GMS(国際版メイプル)のv83を使って起動しました。

参考にした情報


メイプルのエミュ鯖構築 v83
手順は上記のサイトを見れば問題なくできる。
日本語化の方法も掲載する予定だったようだが、更新が停止しており残念。

必要なもの


NetBeans
wampsever
Navicat(vecterにあった)
JDK(最新版使った)
JRE (jre javaで検索)
jce

192にlove&peaceMS2ndのリパックがあってダウンロードできる
エミュ鯖構築方法+質問スレ2

GMSv0.83のクライアントをダウンロード
MapleStory Client/Localhost Archive

localhost.exe v83をダウンロード
v83 Custom Localhost (Windows 8/10 fix)
なおフルスクリーンではなく窓化に対応している。

windows7以下ならクライアントのページのv83localhostでも動くかもしれない。
ちなみにlocalhost.exeはセキュリティソフトが死ぬほど反応するので、一時的に切ることをおすすめする。
windowsDefenderを使ってる場合、勝手に削除するので、avastに変更した。

エミュ開発で活発なRageZoneでは日本版メイプルの開発もされているようだが、私は動かせなかった。
JMS186 source 87% working like GMS90/SEA1.02

GMSの日本語化をした方が早いかもしれない(笑)
エミュ鯖の立て方をゼロから勉強してみたいな。どうやって独自に開発してるんだろう。

以下備忘。

GMSv83プライベートエミュ鯖構築



Javaをインストールと設定


JDKとJREをインストールし、JCEを解凍する。

終わったら環境変数のPathにJDKのbinのパスを通す。

JCEの.jarファイルを以下の場所にコピー

  • C:\Program FilesJava\Java\jdk-12.0.2\lib

  • C:\Program FilesJava\jdk-12.0.2\lib\security

  • C:\Program Files\Java\jre1.8.0_221\lib

  • C:\Program Files\Java\jre1.8.0_221\lib\security

  • C:\Program Files\Java\jre1.8.0_221\lib\ext



WampServerとNavicatを起動しSQLを設定する


wampserverは起動するとタスクバーのアイコンが緑になります。ならなかったら失敗してます。
これはメイプルの仮想サーバーにあたります。

navicatでSQLの設定をします。
navicatを起動して左上の接続を押し、MYSQLを押します。

入力欄が出るので
接続名localhost
ipアドレスホスト名localhost
ポート3306
ユーザー名 root
パスワード(空白)
で進めます。

ちなみにすでにlocalhostが一覧にある場合はこの作業いりません。
localhostを右クリックして新規データベースを選択してmaplebladeで進めます。

localhostの中にmaplebladeが作成されるので、ダブルクリックします。
maplebladeを右クリして「SQLファイルを実行する」を押してリパックを読み込みます。

ダウンロードしたLove&peace2ndのリパックの中にある、
SQLフォルダの「LPMS Backup.sql」を選択し、開始を押します。

エラーなく終わったらウィンドウを閉じて、localhostを右クリして接続をいったん切ります。
再度接続しなおして、maplebladeを開くと読み込んだデータが表示されます。

メイプルエミュ鯖のアカウント作成


maplebladeの中のaccountというデータを開いてアカウント作成を行います。
accountを開くとすでに文字が入っていますが、一番上の項目を編集します。

nameに好きな半角英数字を入力するとIDになります。
passwordはSHA1という方式で暗号化されているため、
SHA2/SHA1/MD5ハッシュ生成(Hash Generator)
上記のサイトで変換するといいかもしれません。

次にパスワードですがSHA-1とかよくわからないことになってます
とりあえず何でもいいって人は
d033e22ae348aeb5660fc2140aec35850c4da997
これを貼り付けましょう んでこれは admin です

私は解説サイトのやつをそのまま利用しました(笑)

最後にlove&peace2ndリパックのlibフォルダにある5つの.jarファイルを、

  • C:\Program FilesJava\Java\jdk-12.0.2\lib

  • C:\Program FilesJava\jdk-12.0.2\lib\security

  • C:\Program Files\Java\jre1.8.0_221\lib

  • C:\Program Files\Java\jre1.8.0_221\lib\security

  • C:\Program Files\Java\jre1.8.0_221\lib\ext


にコピーします。

NetBeansで設定


本来は新規プロジェクトで作成するのですが、
そのまま「プロジェクトを開く」からリパックフォルダを選択するとデータを読み込めます。
配布されているリパックは、すでにプロジェクトとして構成されているようです。

リパックを新規プロジェクトで作成する場合


ソフトを開いて新規プロジェクトをクリックします。
そしてJavaカテゴリの既存のソースを使用するを選択して進めます。

プロジェクト名は「AlcandonMS」でプロジェクトフォルダは、
リパックのフォルダ「LovePeaceMS2nd v83」を指定します。

次にソースパッケージは「LovePeaceMS2nd v83」フォルダの「src」フォルダを指定します。
そして進めるとプロジェクトが作成されます。

読み込んだデータを
ソースパッケージ-constants-SeverConsatnts
の順で開いて、中身を書き換えます。

エミュ鯖の醍醐味である各種倍率を変更できます。
EXP_RATEは経験値倍率
MESO_RATEはお金倍率
DROP_RATEはアイテムドロップ倍率
BOSS_DROP_RATEはボスのドロップ倍率

またIPを変更する場合は
public static String HOST = "127.0.0.0"を書き換えます。
基本的に上記の状態であれば変更しなくていいです。
Hamachiや外部公開する場合は変更が必要になります。

重要:初期マップを変更する


追記:
初期マップがなんでか機能しないので、大人しく海の中から始めたほうがいいかも?
クエストやポータルが機能しないのなんでかなあ。


Love&Peace2ndMSは何でか初期マップが従来の場所ではなく、いきなり海の中になっています。

初期レベル255のアバターがあるので、好きにやれということかもしれませんが、
私は従来のメイポがしたいのであって、この変更は頂けませんでした。(笑)

ですので初心者マップに戻す方法を記載しておきます。
戻す際は以下の#2の方法が参考になりました。
How to change starter/beginner map

またマップを変更するにはマップIDという数値の確認が必要です。
IDs and Commands List

以下は変更例になります。
SnapCrab_NoName_2019-8-4_10-50-47_No-00.jpg


変更箇所は
newchar.setMap()という部分です。()内にマップIDを入力します。

シグナス騎士団はクイーンズロードの開始の森でマップID(130030000)
冒険者はメイプルアイランドのキノコの丘でマップID(0)3に変更。でもクエスト動かない
アランはブラックロードの負傷兵の幕舎でマップID(914000000)
が一番初めのチュートリアルのマップになります。

これで設定は完了ですね。

変更を保存して.jarファイルをコピーする


最後にメニューの実行から「プロジェクトをビルド」またはハンマーのアイコンをクリックして
.jarファイルを作成します。リパックフォルダにdistフォルダがあるので中に.jarがあります。

ビルドして作成した.jarを以下のフォルダにコピーします。

  • C:\Program FilesJava\Java\jdk-12.0.2\lib

  • C:\Program FilesJava\jdk-12.0.2\lib\security

  • C:\Program Files\Java\jre1.8.0_221\lib

  • C:\Program Files\Java\jre1.8.0_221\lib\security

  • C:\Program Files\Java\jre1.8.0_221\lib\ext



localhost.exeとサーバーを起動してエミュ鯖を動かす


ダウンロードしたlocalhost.exeをメイプルストーリーのフォルダ(~Nexon/MapleStory)に入れる。

なおフォルダ内の
ASPLnchr.exe
MapleStory.exe
Patcher.exe
は使わないし不要なのでどこかに避けるか削除してもよい。

ちなみに127.0.0.0以外のIPアドレスに変えた場合は、localhost.exeのIPも書き換える必要がある。
以下のソフトかバイナリエディターのStirlingを使うのが定番。
[Release] STREDIT - Localhost Editor
なおSTREDITを使う場合は管理者で起動しないとうまく保存できない。

サーバーを起動する


リパック内の.batファイルを起動する。
このときWampServerとNavicatのlocalhostとmaplebladeが起動状態でなければならない。

フォルダ内にあるLovePeaceMS 2ndMS starter.batを起動してみる。
エラーが出なければおkだが、エラーが出た場合は以下の方法を試す。

数字の順番に起動する。

  1. launch_world.bat

  2. launch_login.bat

  3. launch_channel.bat


どちらの方法でも以下のような表示がでれば成功である。
SnapCrab_NoName_2019-8-4_11-8-0_No-00.jpg

なおサーバーやクライアントは、スカイプとかが起動しているとうまく立ち上がらないことがある模様。
あとはファイアーウォールやセキュリティソフトなどを一時的に切るなど試すこと。
それでも動かないならひたすら検索するしかない。Ragezoneなど英語圏のほうが情報量が多い。

サーバーが正常に起動したのでいよいよクライアントの起動となる。
localhost.exeをダブルクリックで起動して、動作することを祈る。

起動できたらばんざい。英語だが新規キャラ作成で懐かしきメイポが始まる。

ちなみに私は初期マップを一度起動してから変更したので、
キャラでログインしたら一度マップが真っ黒な状態になった。もし同じことが起きても再起動すればなおる。

LPMS2ndリパックでの構築は以上。
しかし起動したはいいが新規キャラだとチュートリアルでポータルが動作しなかったり、
クエストを受注できなかったり動作不安定で困る。

日本語化の資料も思うように見つからない。会話やアイテムの文章メッセージはwzを触る必要があるが、
単に置き換えるだけでは駄目なようだ。やり方が思うように見つけられないのでまた今度格闘することにする。

私は改造されていないメイプルがしたいのだが、
配布リパックでは結構都合のいいように改変されているものが多いみたいだ。

そして構築しても、満足に動作する保証がない。
もしかしたら自分で一から構築するほうがよく動くかも(笑)

エミュは動いたら感動ものだし、プログラミングの練習にももってこいですな。

次は日本語化あたりまとめるかもしれません。以上。
スポンサーサイト



8 Comments

-  

参考にさせていただいております。
NavicatでLPMS Backup.sqlを実行した最、

[ERR] 1067 - Invalid default value for 'birthday'

等と表示されてエラーになってしまいます。
これはsqlファイルが破損しているという事でしょうか?
初歩の初歩だとは思いますがお願いします。

  • 2019/08/06 (Tue) 13:28
  • REPLY
-  

To -さん

古いバージョンのnavicat使うとエラーが格段に減ったので適合するバージョンじゃないと駄目なのかもしれません。コメント失礼いたしました。

  • 2019/08/06 (Tue) 19:00
  • REPLY
りりうむ
りりうむ  

Invalid default value for 'birthday'の解決法?

> 参考にさせていただいております。
> NavicatでLPMS Backup.sqlを実行した最、
>
> [ERR] 1067 - Invalid default value for 'birthday'
>
> 等と表示されてエラーになってしまいます。
> これはsqlファイルが破損しているという事でしょうか?
> 初歩の初歩だとは思いますがお願いします。


コメントありがとうございます。もうすでに解決してそうですが一応。
私が記事に掲載しているnavicat Liteを使った際はそのようなエラーはでなかったですね。

調べた感じではwampserverのmy.iniを書き換えれば直るかもしれません。

ERROR 1067 (42000): Invalid default value for 'created_at'
https://qiita.com/harukingo/items/2af6bf09b0ff742c5513

以下引用。my.iniに追加する
[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

原因はSQLバージョンで処理が変わったからかも。

エラーメッセージは次の通りです "クエリの実行中にエラーが発生しました
http://japan.nucleuscms.org/forum/viewtopic.php?id=7439

コメント頂いた通り古いバージョンではおそらく正常に動くと思います。
解決しなかった場合はちょっとよくわからないですね。

  • 2019/08/07 (Wed) 17:55
  • REPLY
-  

To りりうむさん

返信ありがとうございます!
navicat、wampserverの古いバージョンのものを使用して、無事エラーなく完了出来ました。my.iniの書き換えなんて方法もあったのですね…参考になります。

  • 2019/08/08 (Thu) 08:46
  • REPLY
-  

とても参考にさせていただいてます。
NetBeansのバージョンと機能で困っています。

日本語はバージョン8.2まで対応しているみたいなのですが8.2だとJDK9以降は対応していないみたいで、NetBeans11.1(英語)を使ってみたところ新規プロジェクトでJava With MavenやJava with Gradleなど「Java」だけのものがなく「既存のソースを使用する」というものがなくて困っています。

いずれのバージョンでも新規プロジェクトが作成できません。
どうしたらいいでしょうか?

  • 2019/09/02 (Mon) 04:05
  • REPLY
-  

netbeansでビルドしようとすると、以下のエラーが出てしまい、jarファイルが作成されません。
何か回避する方法はありますでしょうか。

以下エラー内容↓

警告:[options] ブートストラップ・クラスパスが-source 6と一緒に設定されていません
エラー: ソース・オプション6は現在サポートされていません。7以降を使用してください。
エラー: ターゲット・オプション6は現在サポートされていません。7以降を使用してください。
BUILD FAILED (total time: 0 seconds)

  • 2019/09/02 (Mon) 08:18
  • REPLY
りりうむ
りりうむ  

LPMS2はJDK1.8とJRE1.8で動くかも

> netbeansでビルドしようとすると、以下のエラーが出てしまい、jarファイルが作成されません。
> 何か回避する方法はありますでしょうか。
>
> 以下エラー内容↓
>
> 警告:[options] ブートストラップ・クラスパスが-source 6と一緒に設定されていません
> エラー: ソース・オプション6は現在サポートされていません。7以降を使用してください。
> エラー: ターゲット・オプション6は現在サポートされていません。7以降を使用してください。
> BUILD FAILED (total time: 0 seconds)

javaのバージョンで引っかかってそうなので、1.8や1.6に下げてみるとかですかね。
私はjdk1.8とjre1.8を入れて動かしたので。変えてだめだったらちょっとわからないですね。

ほかの動きそうなリパック(heavenmsとか)に変えてみるのもおすすめです。

メイプルのリパックは、プログラム自体が古いせいか、エラーばっかりでます。
ゲームの起動までたどり着くのは中々大変です(笑)

最近ではHeavenMSというリパックがまともに動く感じだったので、
LPMS2から変えてみるのもありですね。

  • 2019/09/02 (Mon) 17:48
  • REPLY
りりうむ
りりうむ  

NetBeansの種類が違うかも?

> とても参考にさせていただいてます。
> NetBeansのバージョンと機能で困っています。
>
> 日本語はバージョン8.2まで対応しているみたいなのですが8.2だとJDK9以降は対応していないみたいで、NetBeans11.1(英語)を使ってみたところ新規プロジェクトでJava With MavenやJava with Gradleなど「Java」だけのものがなく「既存のソースを使用する」というものがなくて困っています。
>
> いずれのバージョンでも新規プロジェクトが作成できません。
> どうしたらいいでしょうか?

インストールしたNetBeansの種類が違うとかですかね。同じ状況になったことがないので推測になりますが。
私がインストールしたのは「NetBeans IDE 8.2」で、ほかにはApache Netbeansというものがあるようです。

NetBeans IDEは以下のJSEの項目にあるダウンロードから入手しました。
https://netbeans.org/downloads/8.2/?pagelang=ja


Javaのバージョンに対応していない件は、
使いたいJavaをNetBeansに手動で追加すれば解決しそうです。

・追加方法
ツールメニュからJavaプラットフォームを開き、プラットフォームの追加を選択。
そのまま「次」を押して、追加したいJavaのフォルダを追加する。
という作業で任意のJavaのバージョンを追加できます。

もしプロジェクトを作成するところまで行けた場合、
プロジェクト内のライブラリフォルダを右クリックし、
プロパティから、使用するJavaのバージョンを変更できます。
Javaのバージョンを変更して試してみたいとき、すぐに変えられて便利です。

思い当たる解決法を挙げてみました。これでだめならちょっとわからないですね。

  • 2019/09/02 (Mon) 18:13
  • REPLY
S