mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-20 19:57:46 +00:00
96 lines
3.5 KiB
C#
96 lines
3.5 KiB
C#
using FFXIVClassic.Common;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Net.Sockets;
|
|
using MoonSharp.Interpreter.Interop;
|
|
using System.Linq;
|
|
using System.Net;
|
|
|
|
namespace FFXIVClassic_Map_Server
|
|
{
|
|
class ConfigConstants
|
|
{
|
|
public static String OPTIONS_BINDIP;
|
|
public static String OPTIONS_PORT;
|
|
public static bool OPTIONS_TIMESTAMP = false;
|
|
|
|
public static uint DATABASE_WORLDID;
|
|
public static String DATABASE_HOST;
|
|
public static String DATABASE_PORT;
|
|
public static String DATABASE_NAME;
|
|
public static String DATABASE_USERNAME;
|
|
public static String DATABASE_PASSWORD;
|
|
|
|
public static bool Load()
|
|
{
|
|
Program.Log.Info("Loading map_config.ini file... ");
|
|
|
|
if (!File.Exists("./map_config.ini"))
|
|
{
|
|
Program.Log.Error("FILE NOT FOUND");
|
|
Program.Log.Error("Loading defaults... ");
|
|
}
|
|
|
|
INIFile configIni = new INIFile("./map_config.ini");
|
|
|
|
ConfigConstants.OPTIONS_BINDIP = configIni.GetValue("General", "server_ip", "127.0.0.1");
|
|
ConfigConstants.OPTIONS_PORT = configIni.GetValue("General", "server_port", "1989");
|
|
ConfigConstants.OPTIONS_TIMESTAMP = configIni.GetValue("General", "showtimestamp", "true").ToLower().Equals("true");
|
|
|
|
ConfigConstants.DATABASE_WORLDID = UInt32.Parse(configIni.GetValue("Database", "worldid", "0"));
|
|
ConfigConstants.DATABASE_HOST = configIni.GetValue("Database", "host", "");
|
|
ConfigConstants.DATABASE_PORT = configIni.GetValue("Database", "port", "");
|
|
ConfigConstants.DATABASE_NAME = configIni.GetValue("Database", "database", "");
|
|
ConfigConstants.DATABASE_USERNAME = configIni.GetValue("Database", "username", "");
|
|
ConfigConstants.DATABASE_PASSWORD = configIni.GetValue("Database", "password", "");
|
|
|
|
return true;
|
|
}
|
|
|
|
public static void ApplyLaunchArgs(string[] launchArgs)
|
|
{
|
|
var args = (from arg in launchArgs select arg.ToLower().Trim().TrimStart('-')).ToList();
|
|
|
|
for (var i = 0; i + 1 < args.Count; i += 2)
|
|
{
|
|
var arg = args[i];
|
|
var val = args[i + 1];
|
|
var legit = false;
|
|
|
|
if (arg == "ip")
|
|
{
|
|
IPAddress ip;
|
|
if (IPAddress.TryParse(val, out ip) && (legit = true))
|
|
OPTIONS_BINDIP = val;
|
|
}
|
|
else if (arg == "port")
|
|
{
|
|
UInt16 port;
|
|
if (UInt16.TryParse(val, out port) && (legit = true))
|
|
OPTIONS_PORT = val;
|
|
}
|
|
else if (arg == "user" && (legit = true))
|
|
{
|
|
DATABASE_USERNAME = val;
|
|
}
|
|
else if (arg == "p" && (legit = true))
|
|
{
|
|
DATABASE_PASSWORD = val;
|
|
}
|
|
else if (arg == "db" && (legit = true))
|
|
{
|
|
DATABASE_NAME = val;
|
|
}
|
|
else if (arg == "host" && (legit = true))
|
|
{
|
|
DATABASE_HOST = val;
|
|
}
|
|
if (!legit)
|
|
{
|
|
Program.Log.Error("Invalid parameter <{0}> for argument: <--{1}> or argument doesnt exist!", val, arg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|