由於蠻喜歡這款遊戲的,忍不住也自已架一個,讓自已過一下當GM的癮,當然不能去作侵權的事哩。
一、環境配置
1、下載並安裝 JAVA JDK http://java.sun.com/javase/downloads/index.jsp
2、下載並安裝 SVN 軟體 http://subversion.tigris.org/
3、下載並安裝 Eclipse 編譯程式碼用軟體
二、Eclipse 配置
1、第一次啟動時,請設定 workspace 目錄
2、設定已安裝的JDK,請開啟主程式的「視窗」中的「喜好設定」,找到項目「Java」點選「已安裝的JRE」,執行「搜尋」並將目的指向JDK目錄後按完成,回到原畫面後鉤選JDK項目
3、設定「編碼」,請開啟主程式的「視窗」中的「喜好設定」,點選「一般」中的「工作區」,將文字檔編碼請選擇UTF-8
4、請開啟主程式的「視窗」中的「喜好設定」,點選「Java」的「已安裝的JRE」,再點選「編輯jdk」,執行「新增外部JAR」,將l1j-jp中lib的jar檔全加入
5、補充:新增MySQL Connectors程式庫 http://dev.mysql.com/downloads/connector/ 點選Connector/J取得最新版本(解開後將jar可放置在jdk的lib目錄下,方便取用),請開啟主程式>視窗>喜好設定>Java>已安裝的JRE>編輯jdk>新增外部JAR,將MySQL Connector加入
三、原始碼取得
1、建立目錄l1j-jp,並以滑鼠右鍵進入SVN選單,並取出l1j-jp所開發之未編譯程式 http://l1j-jp.googlecode.com/svn/trunk/ 程式至最新版本
2、將svn取出的l1j-jp程式匯至workspace下(取出後,再進入SVN選單將程式碼匯出方可使用)
3、網站參考
l1j-jp Team
Svn http://code.google.com/p/l1-jp/
Project Code Site http://code.google.com/p/l1j-jp/
Disscuz http://l1jjp.b.cmssquare.com/
WebSite http://umagonn.web.fc2.com/
line_...@hotmail.co.jp, line...@hotmail.co.jp
四、轉碼(中文化)
1、專案目錄中的config、src、db先用convertz802由日碼轉utf-8
2、將程式內的訊息中文化及伺服設置正確使用語言代號
3、接下來進行db的中文化
4、接下來進行config中文化
5、build.xml 轉碼utf-8並修改內容將shift-jis改為utf-8
6、修改config下的server檔,將characterEncoding=sjis改成big5,時區jst改為tst
7、中文化要修改到的檔案(參考)
\l1j-jp\src\l1j\server\Config.java
\l1j-jp\src\l1j\server\server\Announcements.java
\l1j-jp\src\l1j\server\server\ClientThread.java
\l1j-jp\src\l1j\server\server\GMCommands.java
\l1j-jp\src\l1j\server\server\GameServer.java
\l1j-jp\src\l1j\server\server\HomeTownTimeController.java
\l1j-jp\src\l1j\server\server\IdFactory.java
\l1j-jp\src\l1j\server\server\Logins.java
\l1j-jp\src\l1j\server\server\Shutdown.java
\l1j-jp\src\l1j\server\server\clientpackets\C_AuthLogin.java
\l1j-jp\src\l1j\server\server\clientpackets\C_BoardWrite.java
\l1j-jp\src\l1j\server\server\clientpackets\C_Chat.java
\l1j-jp\src\l1j\server\server\clientpackets\C_CreateChar.java
\l1j-jp\src\l1j\server\server\clientpackets\C_ItemUSe.java
\l1j-jp\src\l1j\server\server\clientpackets\C_LoginToServer.java
\l1j-jp\src\l1j\server\server\clientpackets\C_PickUpItem.java
\l1j-jp\src\l1j\server\server\clientpackets\C_SelectList.java
\l1j-jp\src\l1j\server\server\clientpackets\C_Shop.java
\l1j-jp\src\l1j\server\server\command\L1Commands.java
\l1j-jp\src\l1j\server\server\command\executor\L1AccountBanKick.java
\l1j-jp\src\l1j\server\server\command\executor\L1Action.java
\l1j-jp\src\l1j\server\server\command\executor\L1Adena.java
\l1j-jp\src\l1j\server\server\command\executor\L1AllBuff.java
\l1j-jp\src\l1j\server\server\command\executor\L1BanIp.java
\l1j-jp\src\l1j\server\server\command\executor\L1Buff.java
\l1j-jp\src\l1j\server\server\command\executor\L1CastGfx.java
\l1j-jp\src\l1j\server\server\command\executor\L1ChangeWeather.java
\l1j-jp\src\l1j\server\server\command\executor\L1Chat.java
\l1j-jp\src\l1j\server\server\command\executor\L1ChatNG.java
\l1j-jp\src\l1j\server\server\command\executor\L1CreateItem.java
\l1j-jp\src\l1j\server\server\command\executor\L1CreateItemSet.java
\l1j-jp\src\l1j\server\server\command\executor\L1DeleteGroundItem.java
\l1j-jp\src\l1j\server\server\command\executor\L1Describe.java
\l1j-jp\src\l1j\server\server\command\executor\L1Favorite.java
\l1j-jp\src\l1j\server\server\command\executor\L1GMRoom.java
\l1j-jp\src\l1j\server\server\command\executor\L1GfxId.java
\l1j-jp\src\l1j\server\server\command\executor\L1HomeTown.java
\l1j-jp\src\l1j\server\server\command\executor\L1HpBar.java
\l1j-jp\src\l1j\server\server\command\executor\L1InsertSpawn.java
\l1j-jp\src\l1j\server\server\command\executor\L1InvGfxId.java
\l1j-jp\src\l1j\server\server\command\executor\L1Invisible.java
\l1j-jp\src\l1j\server\server\command\executor\L1Kick.java
\l1j-jp\src\l1j\server\server\command\executor\L1Kill.java
\l1j-jp\src\l1j\server\server\command\executor\L1Level.java
\l1j-jp\src\l1j\server\server\command\executor\L1LevelPresent.java
\l1j-jp\src\l1j\server\server\command\executor\L1Move.java
\l1j-jp\src\l1j\server\server\command\executor\L1PartyRecall.java
\l1j-jp\src\l1j\server\server\command\executor\L1Poly.java
\l1j-jp\src\l1j\server\server\command\executor\L1PowerKick.java
\l1j-jp\src\l1j\server\server\command\executor\L1Present.java
\l1j-jp\src\l1j\server\server\command\executor\L1Recall.java
\l1j-jp\src\l1j\server\server\command\executor\L1ReloadTrap.java
\l1j-jp\src\l1j\server\server\command\executor\L1ResetTrap.java
\l1j-jp\src\l1j\server\server\command\executor\L1Ress.java
\l1j-jp\src\l1j\server\server\command\executor\L1SKick.java
\l1j-jp\src\l1j\server\server\command\executor\L1ShowTrap.java
\l1j-jp\src\l1j\server\server\command\executor\L1Shutdown.java
\l1j-jp\src\l1j\server\server\command\executor\L1SpawnCmd.java
\l1j-jp\src\l1j\server\server\command\executor\L1Speed.java
\l1j-jp\src\l1j\server\server\command\executor\L1Status.java
\l1j-jp\src\l1j\server\server\command\executor\L1Summon.java
\l1j-jp\src\l1j\server\server\command\executor\L1ToPC.java
\l1j-jp\src\l1j\server\server\command\executor\L1ToSpawn.java
\l1j-jp\src\l1j\server\server\command\executor\L1Visible.java
\l1j-jp\src\l1j\server\server\command\executor\L1Who.java
\l1j-jp\src\l1j\server\server\datatables\AuctionBoardTable.java
\l1j-jp\src\l1j\server\server\datatables\HouseTable.java
\l1j-jp\src\l1j\server\server\datatables\NPCTalkDataTable.java
\l1j-jp\src\l1j\server\server\datatables\NpcActionTable.java
\l1j-jp\src\l1j\server\server\datatables\NpcSpawnTable.java
\l1j-jp\src\l1j\server\server\datatables\PolyTable.java
\l1j-jp\src\l1j\server\server\datatables\SkillsTable.java
\l1j-jp\src\l1j\server\server\datatables\SpawnTable.java
\l1j-jp\src\l1j\server\server\datatables\SprTable.java
\l1j-jp\src\l1j\server\server\datatables\UBSpawnTable.java
\l1j-jp\src\l1j\server\server\datatables\UBTable.java
\l1j-jp\src\l1j\server\server\datatables\WeaponSkillTable.java
\l1j-jp\src\l1j\server\server\model\AcceleratorChecker.java
\l1j-jp\src\l1j\server\server\model\Instance\L1PcInstance.java
\l1j-jp\src\l1j\server\server\model\Instance\L1SummonInstance.java
\l1j-jp\src\l1j\server\server\model\Instance\L1TeleporterInstance.java
\l1j-jp\src\l1j\server\server\model\L1BossCycle.java
\l1j-jp\src\l1j\server\server\model\L1Clan.java
\l1j-jp\src\l1j\server\server\model\L1DeleteItemOnGround.java
\l1j-jp\src\l1j\server\server\model\L1Magic.java
\l1j-jp\src\l1j\server\server\model\L1PcInventory.java
\l1j-jp\src\l1j\server\server\model\L1UltimateBattle.java
\l1j-jp\src\l1j\server\server\model\item\L1TreasureBox.java
\l1j-jp\src\l1j\server\server\model\map\L1WorldMap.java
\l1j-jp\src\l1j\server\server\serverpackets\S_WhoCharinfo.java
五、編譯程式
1、開啟 Eclipse,檔案>新建>專案>Java專案,選擇>從現有的資源建立專案>設置好名稱l1j-jp後確認
2、在專案根目錄下的 build.xml 檔點選右鍵>執行為>Ant 建置 Alt+Shift+....進行編譯
3、完成後會在專案的根目錄下的build目錄下產生l1jserver.jar檔了
六、封裝
1、清除mapcache
2、DB匯出
3、壓成檔案發佈或上傳自專用的svn發佈
4、傳至伺服器執行ServerStart.bat開服
沒有留言:
張貼留言