Merge branch 'develop' into group_work

# Conflicts:
#	FFXIVClassic Map Server/ConfigConstants.cs
This commit is contained in:
Filip Maj 2017-01-09 00:19:39 -05:00
commit 79de4fd1ff
14 changed files with 136 additions and 24 deletions

View file

@ -1,6 +1,11 @@
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
{
@ -8,8 +13,9 @@ namespace FFXIVClassic_Map_Server
{
public static String OPTIONS_BINDIP;
public static String OPTIONS_PORT;
public static bool OPTIONS_TIMESTAMP = false;
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;
@ -23,7 +29,7 @@ namespace FFXIVClassic_Map_Server
if (!File.Exists("./map_config.ini"))
{
Program.Log.Error("FILE NOT FOUND");
return false;
Program.Log.Error("Loading defaults... ");
}
INIFile configIni = new INIFile("./map_config.ini");
@ -32,13 +38,44 @@ namespace FFXIVClassic_Map_Server
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;
}
if (!legit)
{
Program.Log.Error("Invalid parameter <{0}> for argument: <--{1}> or argument doesnt exist!", val, arg);
}
}
}
}
}

View file

@ -35,6 +35,9 @@
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
<Reference Include="Cyotek.Collections.Generic.CircularBuffer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=58daa28b0b2de221, processorArchitecture=MSIL">
<HintPath>..\packages\Cyotek.CircularBuffer.1.0.0.0\lib\net20\Cyotek.Collections.Generic.CircularBuffer.dll</HintPath>
@ -330,7 +333,12 @@
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>copy "$(SolutionDir)data\map_config.ini" "$(SolutionDir)$(ProjectName)\$(OutDir)"</PostBuildEvent>
<PostBuildEvent>xcopy "$(SolutionDir)data\map_config.ini" "$(SolutionDir)$(ProjectName)\$(OutDir)" /d
xcopy "$(SolutionDir)data\scripts" "$(SolutionDir)$(ProjectName)\$(OutDir)scripts" /e /d /y /s</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
</PropertyGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>

View file

@ -31,8 +31,8 @@ namespace FFXIVClassic_Map_Server
Program.Log.Info("---------FFXIV 1.0 Map Server---------");
//Load Config
if (!ConfigConstants.Load())
startServer = false;
ConfigConstants.Load();
ConfigConstants.ApplyLaunchArgs(args);
//Test DB Connection
Program.Log.Info("Testing DB connection... ");

View file

@ -207,7 +207,7 @@ namespace FFXIVClassic_Map_Server.lua
public static void RunGMCommand(Player player, String cmd, string[] param, bool help = false)
{
// load from scripts/commands/gm/ directory
var path = String.Format("./scripts/commands/gm/{0}.lua", cmd.ToString().ToLower());
var path = String.Format("./scripts/commands/gm/{0}.lua", cmd.ToLower());
// check if the file exists
if (File.Exists(path))