Files
DanhengServer-OpenSource/WebServer/Handler/QueryGatewayHandler.cs
2024-06-01 22:36:32 +08:00

56 lines
1.9 KiB
C#

using EggLink.DanhengServer.Proto;
using EggLink.DanhengServer.Util;
using Google.Protobuf;
namespace EggLink.DanhengServer.Server.Http.Handler
{
internal class QueryGatewayHandler
{
public static Logger Logger = new("GatewayServer");
public string Data;
public QueryGatewayHandler()
{
var config = ConfigManager.Config;
var urlData = config.DownloadUrl;
// build gateway proto
var gateServer = new GateServer() {
RegionName = config.GameServer.GameServerId,
Ip = config.GameServer.PublicAddress,
Port = config.GameServer.PublicPort,
Msg = "Access verification failed. Please check if you have logged in to the correct account and server.",
B1 = true,
B2 = true,
B3 = true,
B4 = true,
B5 = true,
};
if (urlData.AssetBundleUrl != null && urlData.AssetBundleUrl.Length > 0)
{
gateServer.AssetBundleUrl = urlData.AssetBundleUrl;
}
if (urlData.ExResourceUrl != null && urlData.ExResourceUrl.Length > 0)
{
gateServer.ExResourceUrl = urlData.ExResourceUrl;
}
if (urlData.LuaUrl != null && urlData.LuaUrl.Length > 0)
{
gateServer.LuaUrl = urlData.LuaUrl;
gateServer.MdkResVersion = urlData.LuaUrl.Split('/')[^1].Split('_')[1];
}
if (urlData.IfixUrl != null && urlData.IfixUrl.Length > 0)
{
gateServer.IfixUrl = urlData.IfixUrl;
gateServer.IfixVersion = urlData.IfixUrl.Split('/')[^1].Split('_')[1];
}
Logger.Info("Client request: query_gateway");
Data = Convert.ToBase64String(gateServer.ToByteArray());
}
}
}