diff --git a/SDK-GMLIB b/SDK-GMLIB index cda5bfb..37d9220 160000 --- a/SDK-GMLIB +++ b/SDK-GMLIB @@ -1 +1 @@ -Subproject commit cda5bfbf85a291a85a78529f760883d1ca7216da +Subproject commit 37d92200bd9a534ec6f86d8c27abf3a0af0b40f4 diff --git a/src/Entry.cpp b/src/Entry.cpp index 177563c..8c83e93 100644 --- a/src/Entry.cpp +++ b/src/Entry.cpp @@ -24,6 +24,14 @@ auto enable(ll::plugin::NativePlugin& /*self*/) -> bool { auto load(ll::plugin::NativePlugin& self) -> bool { selfPluginInstance = std::make_unique>(self); initPlugin(); + if (GMLIB::Version::getProtocolVersion() != TARGET_PROTOCOL) { + logger.error(tr("error.protocolMismatch.info")); + logger.error( + tr("error.protocolMismatch.version", + {std::to_string(TARGET_PROTOCOL), std::to_string(GMLIB::Version::getProtocolVersion())}) + ); + return false; + } initPlayerDataCache(); return true; } diff --git a/src/Global.h b/src/Global.h index 586fd23..0410006 100644 --- a/src/Global.h +++ b/src/Global.h @@ -1,7 +1,8 @@ #pragma once #include -#define PLUGIN_NAME "InventoryCheck" +#define PLUGIN_NAME "InventoryCheck" +#define TARGET_PROTOCOL 662 extern ll::Logger logger; diff --git a/src/Language.h b/src/Language.h index a630677..7cd381e 100644 --- a/src/Language.h +++ b/src/Language.h @@ -49,6 +49,8 @@ std::string defaultLanguage_en_US = R"( checkAll.empty=You've played the entire archive alone, and you're still playing here to check the bag? \nWhy don't you go and recruit people? resumeInventory.success=Your backpack has been resumed! resumeInventory.failed=Unable to resume your backpack, no data was found on your backpack! + error.protocolMismatch.info=You are running on an unsupport protocol version! This may result in crash! + error.protocolMismatch.version=Support protocol %1$s, current protocol %2$s. )"; std::string defaultLanguage_zh_CN = R"( @@ -99,4 +101,6 @@ std::string defaultLanguage_zh_CN = R"( checkAll.empty=整个存档就你一个人玩过,还在这玩查包呢?\n还不快去招人? resumeInventory.success=已成功复原你的背包! resumeInventory.failed=无法复原你的背包,没有找到你的背包数据! + error.protocolMismatch.info=此插件正在不兼容的版本协议上运行!这可能造成服务器崩溃! + error.protocolMismatch.version=此插件支持版本协议 %1$s,服务器版本协议 %2$s。 )";