2013年6月25日 星期二

【Java教學】舊版《自動重啟》與《取得現時》系統整理

1. 首先,l1j.server.Config下適當位子新增:
public static int RESTART_TIME; //重新啟動伺服器


下面這段個人加在othersettings,位子看您個人的意思!!
RESTART_TIME = Integer.parseInt(otherSettings.getProperty("RestartTime", "240"));//重新啟動伺服器

//otherSettings.properties

//重新啟動伺服器

}else if (pName.equalsIgnoreCase("RestartTime")) {


        RESTART_TIME = Integer.valueOf(pValue);


2.再,新增GetNowTime,路徑 l1j.server.server.GetNowTime,取得現在時間;
  新增以後也許也會用到,比如用在c_who裡給玩家查詢~



3.  在 L1GameTime之下,找適當位置新增:
//自動重啟        
  public L1GameTime() {

       this((int) System.currentTimeMillis());


             }

4.新增 L1GameRestart,路徑 l1j.server.server.model.gametime.L1GameRestart



5.在GmaeServer裡,先 import l1j.server.server.model.gametime.L1GameRestart;

尋找
  IdFactory.getInstance();                

  L1WorldMap.getInstance();

在這之上,新增

  //重啟時間

if (Config.RESTART_TIME != 0) { 
      L1GameRestart.init();


   }

6.在模擬器的config>>othersettings裡,新增:
# ==============================================================

#重新啟動伺服器 (分鐘、0 = 不重啟)

RestartTime = 60


# ==============================================================



另一個方法


GmaeServer另一個改法
在最上面找個地方新增
  1. import l1j.server.server.model.gametime.L1GameRestart;
複製代碼
原本有以下這一段 可以不用新增
  1.   //重啟時間 不用增加這一段了

  2. if (Config.RESTART_TIME != 0) { 
  3.       L1GameRestart.init();

  4.    }
複製代碼
搜索
  1. CastleTable.getInstance();
複製代碼
在上面新增
  1. L1GameRestart.init();//add 自動重啟

  2. Thread.sleep(20000); //從開20秒後才能登入
複製代碼
Thread.sleep(20000); //從開20秒後才能登入
這一段是避免從開還沒完成大家都一直搶登,拿來當緩衝建議可以時間可以在設定長一點

========================分隔線=======================

新增 othersettings.properties 
開啟 Config.java

搜索
  1. public static final String ALT_SETTINGS_FILE = "./config/altsettings.properties";
複製代碼
在下面加入
  1. public static final String OTHER_SETTINGS_CONFIG_FILE = "./config/othersettings.properties";
複製代碼
搜索
  1.         public static void load() {

  2.                 loadInfo();

  3.                 _log.info("正在讀取伺服器設定...");
複製代碼
在下面加入
  1.                 // othersettings.properties

  2.                 try 
  3.                 {

  4.                         Properties otherSettings = new Properties();

  5.                         InputStream is = new FileInputStream(new File(OTHER_SETTINGS_CONFIG_FILE));

  6.                         otherSettings.load(is);

  7.                         is.close();


  8.                 
  9.                 } catch (Exception e) {

  10.                         _log.log(Level.SEVERE, e.getLocalizedMessage(), e);

  11.                         throw new Error("Failed to Load " + SERVER_CONFIG_FILE + " File.");

  12.                 }
複製代碼

之後自己去資料夾新稱 othersettings.properties 這個文件出來
或是從已有的版本複製過來,這樣就好了

沒有留言:

張貼留言