/**
* License
* THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
* CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE").
* THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW.
* ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR
* COPYRIGHT LAW IS PROHIBITED.
*
* BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
* AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE
* MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED
* HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
*
*/
package l1j.server;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;
import l1j.server.Config;
import l1j.server.server.GameServer;
import l1j.server.telnet.TelnetServer;
/**
* l1j 伺服器啟動
*/
public class Server {
/** 紀錄用 */
private static Logger _log = Logger.getLogger(Server.class.getName());
/** 紀錄檔的路徑 */
private static final String LOG_PROP = "./config/log.properties";
/**
* サーバメイン.
*
* @param args
* 命令列參數
* @throws Exception
*/
public static void main(final String[] args) throws Exception {
File logFolder = new File("log");
logFolder.mkdir();
try {
InputStream is = new BufferedInputStream(new FileInputStream(LOG_PROP));
LogManager.getLogManager().readConfiguration(is);
is.close();
} catch (IOException e) {
_log.log(Level.SEVERE, "Failed to Load " + LOG_PROP + " File.", e);
System.exit(0);
}
try {
Config.load();
} catch (Exception e) {
_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
System.exit(0);
}
// L1DatabaseFactory初期設定
L1DatabaseFactory.setDatabaseSettings(Config.DB_DRIVER, Config.DB_URL, Config.DB_LOGIN, Config.DB_PASSWORD);
L1DatabaseFactory.getInstance();
GameServer.getInstance().initialize();
if (Config.TELNET_SERVER) {
TelnetServer.getInstance().start();
}
}
}