diff --git a/FFXIVClassic Lobby Server/FFXIVClassic Lobby Server.csproj b/FFXIVClassic Lobby Server/FFXIVClassic Lobby Server.csproj
index ddd0697a..640d1111 100644
--- a/FFXIVClassic Lobby Server/FFXIVClassic Lobby Server.csproj
+++ b/FFXIVClassic Lobby Server/FFXIVClassic Lobby Server.csproj
@@ -77,9 +77,6 @@
..\packages\Cyotek.CircularBuffer.1.0.0.0\lib\net20\Cyotek.Collections.Generic.CircularBuffer.dll
-
- ..\packages\Dapper.1.42\lib\net45\Dapper.dll
-
..\FFXIVClassic Common Class Lib\bin\Debug\FFXIVClassic.Common.dll
@@ -87,10 +84,6 @@
..\packages\MySql.Data.6.9.8\lib\net45\MySql.Data.dll
True
-
- ..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll
- True
-
..\packages\NLog.4.3.4\lib\net45\NLog.dll
True
diff --git a/FFXIVClassic Lobby Server/packages.config b/FFXIVClassic Lobby Server/packages.config
index 54b0ad82..6d704229 100644
--- a/FFXIVClassic Lobby Server/packages.config
+++ b/FFXIVClassic Lobby Server/packages.config
@@ -1,10 +1,8 @@
-
-
diff --git a/FFXIVClassic Map Server/App.config b/FFXIVClassic Map Server/App.config
index 46fa2bf4..3c9bd9c6 100644
--- a/FFXIVClassic Map Server/App.config
+++ b/FFXIVClassic Map Server/App.config
@@ -13,7 +13,7 @@
-
+
diff --git a/FFXIVClassic Map Server/Database.cs b/FFXIVClassic Map Server/Database.cs
index ac8cd9e0..f2861fd5 100644
--- a/FFXIVClassic Map Server/Database.cs
+++ b/FFXIVClassic Map Server/Database.cs
@@ -1,5 +1,4 @@
using MySql.Data.MySqlClient;
-using Dapper;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -51,29 +50,6 @@ namespace FFXIVClassic_Map_Server
return id;
}
- public static List GetNpcList()
- {
- using (var conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
- {
- List npcList = null;
- try
- {
- conn.Open();
- npcList = conn.Query("SELECT * FROM npc_list").ToList();
- }
- catch (MySqlException e)
- {
- Program.Log.Error(e.ToString());
- }
- finally
- {
- conn.Dispose();
- }
-
- return npcList;
- }
- }
-
public static Dictionary GetItemGamedata()
{
using (var conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
@@ -2218,24 +2194,40 @@ namespace FFXIVClassic_Map_Server
public static void SavePlayerStatusEffects(Player player)
{
+ string[] faqs = null;
+ List raw = new List();
using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
{
try
{
conn.Open();
- // we'll run them all at once instead of one at a time
- string queries = "";
- foreach (var effect in player.statusEffects.GetStatusEffects())
+ using (MySqlTransaction trns = conn.BeginTransaction())
{
- var duration = Utils.UnixTimeStampUTC(effect.GetEndTime()) - Utils.UnixTimeStampUTC();
- queries += Environment.NewLine + $"REPLACE INTO characters_statuseffect(characterId, statusId, magnitude, duration, tick, tier, extra) VALUES ({player.actorId}, {effect.GetStatusEffectId()}, {effect.GetMagnitude()}, {duration}, {effect.GetTickMs()}, {effect.GetTier()}, {effect.GetExtra()});";
- }
+ string query = @"
+ REPLACE INTO characters_statuseffect
+ (characterId, statusId, magnitude, duration, tick, tier, extra)
+ VALUES
+ (@actorId, @statusId, @magnitude, @duration, @tick, @tier, @extra)
+ ";
+ using (MySqlCommand cmd = new MySqlCommand(query, conn, trns))
+ {
+ foreach (var effect in player.statusEffects.GetStatusEffects())
+ {
+ var duration = Utils.UnixTimeStampUTC(effect.GetEndTime()) - Utils.UnixTimeStampUTC();
- if (queries.Length > 0)
- {
- MySqlCommand cmd = new MySqlCommand(queries, conn);
- cmd.ExecuteNonQuery();
+ cmd.Parameters.AddWithValue("@actorId", player.actorId);
+ cmd.Parameters.AddWithValue("@statusId", effect.GetStatusEffectId());
+ cmd.Parameters.AddWithValue("@magnitude", effect.GetMagnitude());
+ cmd.Parameters.AddWithValue("@duration", duration);
+ cmd.Parameters.AddWithValue("@tick", effect.GetTickMs());
+ cmd.Parameters.AddWithValue("@tier", effect.GetTier());
+ cmd.Parameters.AddWithValue("@extra", effect.GetExtra());
+
+ cmd.ExecuteNonQuery();
+ }
+ trns.Commit();
+ }
}
}
catch (MySqlException e)
diff --git a/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj b/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
index a4dc7399..e86ac93e 100644
--- a/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
+++ b/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
@@ -67,10 +67,6 @@
..\packages\Cyotek.CircularBuffer.1.0.0.0\lib\net20\Cyotek.Collections.Generic.CircularBuffer.dll
True
-
- ..\packages\Dapper.1.42\lib\net45\Dapper.dll
- True
-
False
..\FFXIVClassic Common Class Lib\bin\Debug\FFXIVClassic.Common.dll
@@ -82,8 +78,9 @@
..\packages\MySql.Data.6.9.8\lib\net45\MySql.Data.dll
True
-
- ..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll
+
+ False
+ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll
..\packages\NLog.4.3.5\lib\net45\NLog.dll
diff --git a/FFXIVClassic Map Server/packages.config b/FFXIVClassic Map Server/packages.config
index affb0e30..99729214 100644
--- a/FFXIVClassic Map Server/packages.config
+++ b/FFXIVClassic Map Server/packages.config
@@ -1,11 +1,11 @@
-
+
diff --git a/FFXIVClassic World Server/FFXIVClassic World Server.csproj b/FFXIVClassic World Server/FFXIVClassic World Server.csproj
index bc28d6b8..fe615004 100644
--- a/FFXIVClassic World Server/FFXIVClassic World Server.csproj
+++ b/FFXIVClassic World Server/FFXIVClassic World Server.csproj
@@ -73,22 +73,17 @@
..\packages\Cyotek.CircularBuffer.1.0.0.0\lib\net20\Cyotek.Collections.Generic.CircularBuffer.dll
True
-
- ..\packages\Dapper.1.42\lib\net45\Dapper.dll
- True
-
..\packages\MySql.Data.6.9.8\lib\net45\MySql.Data.dll
True
+
+ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll
+
..\packages\NLog.4.3.5\lib\net45\NLog.dll
True
-
- ..\packages\RabbitMQ.Client.4.0.0\lib\net451\RabbitMQ.Client.dll
- True
-
diff --git a/FFXIVClassic World Server/packages.config b/FFXIVClassic World Server/packages.config
index 043c0d66..6f089e24 100644
--- a/FFXIVClassic World Server/packages.config
+++ b/FFXIVClassic World Server/packages.config
@@ -1,10 +1,9 @@
-
+
-
\ No newline at end of file
diff --git a/FFXIVClassic.sln b/FFXIVClassic.sln
index ff7d035e..6f1f6f32 100644
--- a/FFXIVClassic.sln
+++ b/FFXIVClassic.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27004.2005
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FFXIVClassic Map Server", "FFXIVClassic Map Server\FFXIVClassic Map Server.csproj", "{E8FA2784-D4B9-4711-8CC6-712A4B1CD54F}"
ProjectSection(ProjectDependencies) = postProject
@@ -77,13 +77,4 @@ Global
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F350E848-7622-48E1-87DC-4C2B1596122B}
EndGlobalSection
- GlobalSection(Performance) = preSolution
- HasPerformanceSessions = true
- EndGlobalSection
- GlobalSection(Performance) = preSolution
- HasPerformanceSessions = true
- EndGlobalSection
- GlobalSection(Performance) = preSolution
- HasPerformanceSessions = true
- EndGlobalSection
EndGlobal