show code js

2010年8月20日 星期五

自已編譯l1j

由於蠻喜歡這款遊戲的,忍不住也自已架一個,讓自已過一下當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開服

沒有留言:

張貼留言