diff --git a/profiler/build/win32/Tracy.vcxproj b/profiler/build/win32/Tracy.vcxproj
index 1d17f678..038814b7 100644
--- a/profiler/build/win32/Tracy.vcxproj
+++ b/profiler/build/win32/Tracy.vcxproj
@@ -127,6 +127,7 @@
+
@@ -244,6 +245,7 @@
+
diff --git a/profiler/build/win32/Tracy.vcxproj.filters b/profiler/build/win32/Tracy.vcxproj.filters
index 5fdda040..25d76d91 100644
--- a/profiler/build/win32/Tracy.vcxproj.filters
+++ b/profiler/build/win32/Tracy.vcxproj.filters
@@ -324,6 +324,9 @@
server
+
+ server
+
@@ -656,6 +659,9 @@
server
+
+ server
+
diff --git a/server/TracyProtoHistory.cpp b/server/TracyProtoHistory.cpp
new file mode 100644
index 00000000..27f01567
--- /dev/null
+++ b/server/TracyProtoHistory.cpp
@@ -0,0 +1,26 @@
+#include "TracyFileHeader.hpp"
+#include "TracyProtoHistory.hpp"
+
+namespace tracy
+{
+
+constexpr ProtocolHistory_t ProtocolHistoryArr[] = {
+ { 57, FileVersion( 0, 8, 2 ) },
+ { 56, FileVersion( 0, 8, 1 ) },
+ { 55, FileVersion( 0, 8, 0 ) },
+ { 46, FileVersion( 0, 7, 6 ), FileVersion( 0, 7, 8 ) },
+ { 44, FileVersion( 0, 7, 5 ) },
+ { 42, FileVersion( 0, 7, 3 ), FileVersion( 0, 7, 4 ) },
+ { 40, FileVersion( 0, 7, 1 ), FileVersion( 0, 7, 2 ) },
+ { 35, FileVersion( 0, 7, 0 ) },
+ { 25, FileVersion( 0, 6, 2 ), FileVersion( 0, 6, 3 ) },
+ { 24, FileVersion( 0, 6, 1 ) },
+ { 23, FileVersion( 0, 6, 0 ) },
+ { 14, FileVersion( 0, 5, 0 ) },
+ { 1, FileVersion( 0, 4, 1 ) },
+ {}
+};
+
+const ProtocolHistory_t* ProtocolHistory = ProtocolHistoryArr;
+
+}
diff --git a/server/TracyProtoHistory.hpp b/server/TracyProtoHistory.hpp
new file mode 100644
index 00000000..77b14e75
--- /dev/null
+++ b/server/TracyProtoHistory.hpp
@@ -0,0 +1,20 @@
+#ifndef __TRACYPROTOHISTORY_HPP__
+#define __TRACYPROTOHISTORY_HPP__
+
+#include
+
+namespace tracy
+{
+
+struct ProtocolHistory_t
+{
+ uint32_t protocol;
+ uint32_t minVer;
+ uint32_t maxVer;
+};
+
+extern const ProtocolHistory_t* ProtocolHistory;
+
+}
+
+#endif