mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	added launch args for ip/port and default config loading
- fixed char create issues by adding default values to fields (todo: fix actual query) - added post build command to copy scripts folder to bin
This commit is contained in:
		| @@ -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,9 +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 uint DATABASE_WORLDID; | ||||
|         public static String DATABASE_HOST; | ||||
|         public static String DATABASE_PORT; | ||||
|         public static String DATABASE_NAME; | ||||
| @@ -24,23 +29,53 @@ 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"); | ||||
|  | ||||
|             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.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", ""); | ||||
|  | ||||
|             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); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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> | ||||
| @@ -313,7 +316,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> | ||||
|   | ||||
| @@ -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... "); | ||||
|   | ||||
| @@ -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)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user