1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-20 11:47:48 +00:00
project-meteor-server/FFXIVClassic Map Server/ConfigConstants.cs

94 lines
3.4 KiB
C#
Raw Normal View History

using FFXIVClassic.Common;
2015-09-25 18:52:25 -04:00
using System;
using System.IO;
using System.Linq;
using System.Net;
2015-09-25 18:52:25 -04:00
namespace FFXIVClassic_Map_Server
2015-09-25 18:52:25 -04:00
{
class ConfigConstants
{
public static String OPTIONS_BINDIP;
public static String OPTIONS_PORT;
public static bool OPTIONS_TIMESTAMP = false;
2015-09-25 18:52:25 -04:00
public static uint DATABASE_WORLDID;
2015-09-25 18:52:25 -04:00
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()
2015-09-25 18:52:25 -04:00
{
Program.Log.Info("Loading map_config.ini file... ");
2015-09-25 18:52:25 -04:00
if (!File.Exists("./map_config.ini"))
2015-09-25 18:52:25 -04:00
{
2016-06-15 20:09:53 -04:00
Program.Log.Error("FILE NOT FOUND");
Program.Log.Error("Loading defaults... ");
2015-09-25 18:52:25 -04:00
}
INIFile configIni = new INIFile("./map_config.ini");
2015-09-25 18:52:25 -04:00
2016-12-05 14:34:40 +00:00
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", "");
2015-09-25 18:52:25 -04:00
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);
}
}
}
2015-09-25 18:52:25 -04:00
}
}