# JMSv186 ## サーバーを動作させるまでの流れ ### 開発環境 + Java + jre-8u111-windows-x64 + 適当に入手してください + jdk-8u111-nb-8_2-windows-x64 + 適当に入手してください + jce_policy-8 + AESが動作しないので以下を参考にJDK/JREのファイルを上書きしてください + [参考](https://qiita.com/mizuki_takahashi/items/cc26a7fd51aa04396e92) + アカウント作成しないとダウンロード出来ないので注意 + NetBeans IDE 8.2 + 適当に入手してください + DB + Wampserver2.4-x64.exe + 適当に入手してください + MySQL + 5.6.12 + Wampに付属しているバージョン + phpMyAdmin + 4.0.4 + Wampに付属しているバージョン ### ビルド + このリポジトリをクローン + NetBeansを実行して以下の手順でビルド + ファイル -> 新規プロジェクト -> カテゴリ = Java, プロジェクト = 既存のソースを使用するJavaプロジェクト + プロジェクト名 = v186 (なんでもOK) + ソース・パッケージフォルダ = src + 一旦プロジェクトが読み込まれるので続ける + 右クリックからプロパティ + ライブラリを選択 -> JAR/フォルダの追加 = libディレクトリに.jarファイルがあるので全て選択して追加 + 追加したプロジェクトを右クリックしてビルド ### DB設定 + Wampを実行 + タスクアイコンクリックするとメニューが出るので以下をする + Start all Services + phpMyAdminを開く + ユーザー名root, パスワード空欄で管理画面へ入る + データベースを選択し、`v186`という名前で作成を行う + v186を開いた後以下のインポートを行う + `v186_empty.sql`を指定して実行ボタンを押す + `init_data_set.sql`を指定して実行ボタンを押す ### サーバーの起動 + run.batを実行 + `Running...`と出れば問題なし + クライアントが接続してくると`[LoginServer] /127.0.0.1:port`と表示される ### クライアントの準備 + ファイル入手 + v186のクライアントを用意 + https://msdl.xyz/pages/jms/setups + [エミュ鯖へ接続させるためのツール](https://github.com/Riremito/RunEmu/releases) + https://hostr.co/rgU3Kdkhxonv + これを使ったほうが良いです + 実行 + RunEmu.exeを実行するとローカルで動作する + 初回はRunEmu.exeにMapleStory.exeをドロップする必要があります ### サーバーの停止 + CTRL+Cで停止するか聞かれるのでyで終了 + ロールバックは極力発生させないようにしていますが、安全のためにyと入力するまで数秒待ったほうが良いです ## その他 ### サーバー仕様 + アカウント + 自動登録 (Auto Register) + 2次パスワードは削除済み + 内部的に777777固定となっていますが、使うことはないはず + GM + accountのgmに111を書き込み、charactersのgmに111と書き込むとGM状態になる + コマンド + 注意 + 一応/でコマンドが通るようにしていますが、クライアント側でどうにかする必要があるので/が動かない場合は!でコマンドを入力すれば動く + 移動系コマンド + /map mapid + 指定マップに移動 + GM状態ならmapidの代わりにマップ名でも動作する + /henesys, /ヘネシス + ヘネシスへ移動 + /leafre, /リプレ + リプレへ移動 + /magatia, /マガティア + マガティアへ移動 + /fm, /フリマ + フリーマーケットへ移動 + デバッグ系コマンド + /debug + デバッグモード + /info + 情報出力切り替え + /save + ロールバック防止のためにDBへ現在の状態を確実に保存する + /map2 mapid + 指定マップに移動 + /help + /jobchange, /jc + 転職 + /npctalk npcid, /NPC会話 npcid + NPC会話スクリプトを呼び出す + /test + その他いくつか通常のエミュ鯖に存在するGMコマンドがそのまま残っています