Track LocalMods as part of monolith
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="Chinese">
|
||||
<luacs.enforced.kickmessage>需要客戶端 LuaCs 才能在此伺服器上玩!在 Barotrauma Steam 工作坊頁面上搜尋「Lua For Barotrauma」,並按照說明進行安裝。</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>已收到來自的客戶端 LuaCs 心跳 </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="ChineseSimplified">
|
||||
<luacs.enforced.kickmessage>需要客户端 LuaCs 才能在此服务器上玩! 在 Barotrauma steam 创意工坊页面上搜索“Lua For Barotrauma”,然后按照说明进行安装。</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>收到来自的客户端 LuaCs 心跳 </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="English">
|
||||
<luacs.enforced.kickmessage>Client-side LuaCs is required to play on this server! Search for "Lua For Barotrauma" on the Barotrauma steam workshop page and follow the instructions on how to install it.</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>Received Client-side LuaCs heartbeat from </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="French">
|
||||
<luacs.enforced.kickmessage>LuaCs côté client est requis pour jouer sur ce serveur ! Recherchez "Lua For Barotrauma" sur la page du workshop Steam de Barotrauma et suivez les instructions pour l'installer.</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>Heartbeat LuaCs côté client reçu de </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="German">
|
||||
<luacs.enforced.kickmessage>Client-seitiges LuaCs ist erforderlich, um auf diesem Server zu spielen! Suchen Sie auf der Steam-Workshop-Seite von Barotrauma nach "Lua For Barotrauma" und befolgen Sie die Installationsanweisungen.</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>Client-seitiger LuaCs-Heartbeat empfangen von </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="Japanese">
|
||||
<luacs.enforced.kickmessage>このサーバーでプレイするには、クライアント側のLuaCsが必要です!Barotrauma Steamワークショップページで「Lua For Barotrauma」を検索し、インストール方法の指示に従ってください。</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>クライアント側のLuaCsハートビートを受信しました </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="Korean">
|
||||
<luacs.enforced.kickmessage>이 서버에서 플레이하려면 클라이언트 측 LuaCs가 필요합니다! Barotrauma Steam 창작마당 페이지에서 "Lua For Barotrauma"를 검색하고 설치 방법에 대한 지침을 따르십시오.</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>클라이언트 측 LuaCs 하트비트 수신: </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="Russian">
|
||||
<luacs.enforced.kickmessage>Для игры на этом сервере требуется клиентский LuaCs! Найдите "Lua For Barotrauma" в мастерской Barotrauma в Steam и следуйте инструкциям по установке. (и не забудьте изучить описание)</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>Получен сигнал от клиентского LuaCs от </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<text language="Ukrainian">
|
||||
<luacs.enforced.kickmessage>Для гри на цьому сервері потрібен клієнтський LuaCs! Знайдіть "Lua For Barotrauma" на сторінці майстерні Steam для Barotrauma та дотримуйтесь інструкцій зі встановлення.</luacs.enforced.kickmessage>
|
||||
<luacs.svenforced.heartbeat>Отримано heartbeat клієнтського LuaCs від </luacs.svenforced.heartbeat>
|
||||
</text>
|
||||
@@ -0,0 +1,5 @@
|
||||
if SERVER then return end
|
||||
if Game.IsSingleplayer then return end
|
||||
|
||||
local message = Networking.Start("client_side_enforced")
|
||||
Networking.Send(message)
|
||||
@@ -0,0 +1,61 @@
|
||||
if CLIENT then return end
|
||||
|
||||
LuaCsClientSideEnforced = {}
|
||||
LuaCsClientSideEnforced.KickTimer = 30
|
||||
|
||||
LuaUserData.RegisterType("Barotrauma.Networking.FileSender")
|
||||
|
||||
local function IsDownloading(client)
|
||||
for key, value in pairs(Game.Server.FileSender.ActiveTransfers) do
|
||||
if value.Connection == client.Connection then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
local clients = {}
|
||||
|
||||
local function GetOrCreateData(client)
|
||||
if not clients[client] then
|
||||
clients[client] = {}
|
||||
clients[client].HasInstalled = false
|
||||
clients[client].KickTimer = 0
|
||||
end
|
||||
|
||||
return clients[client]
|
||||
end
|
||||
|
||||
-- assume every already connected client has already client-side installed
|
||||
for _, client in pairs(Client.ClientList) do
|
||||
local data = GetOrCreateData(client)
|
||||
data.HasInstalled = true
|
||||
data.KickTimer = 0
|
||||
end
|
||||
|
||||
Networking.Receive("client_side_enforced", function(message, client)
|
||||
local data = GetOrCreateData(client)
|
||||
|
||||
if data.HasInstalled then return end
|
||||
data.HasInstalled = true
|
||||
data.KickTimer = 0
|
||||
|
||||
Logger.Log(TextManager.Get("luacs.svenforced.heartbeat").Value .. client.Name, Color.Green)
|
||||
end)
|
||||
|
||||
Hook.Add("client.connected", "ClientSideEnforced", function (client)
|
||||
GetOrCreateData(client)
|
||||
end)
|
||||
|
||||
Hook.Add("think", "ClientSideEnforced", function(client)
|
||||
for client, data in pairs(clients) do
|
||||
if not data.HasInstalled and not IsDownloading(client) then
|
||||
if data.KickTimer > LuaCsClientSideEnforced.KickTimer then
|
||||
client.Kick(TextManager.Get("luacs.enforced.kickmessage").Value)
|
||||
else
|
||||
data.KickTimer = data.KickTimer + 1/60
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Items></Items>
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<contentpackage name="LuaCsClientSideEnforced" modversion="1.2" corepackage="False" steamworkshopid="3088784724" gameversion="1.11.5.0" expectedhash="2041F2E740C7ADE69E7BBB6CF2CC1403">
|
||||
<Item file="%ModDir%/dummyitem.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/English.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/Russian.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/Chinese.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/ChineseSimplified.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/Ukrainian.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/German.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/French.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/Korean.xml" />
|
||||
<Text file="%ModDir%/Content/Texts/Japanese.xml" />
|
||||
</contentpackage>
|
||||
Reference in New Issue
Block a user