You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.1 KiB

1 month ago
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Sog;
namespace World
{
public static class DBServerIDUtils
{
/// <summary>
/// gamedbserver暂时不支持多个,如果需要支持多个,请参考accountdb的算法
/// </summary>
public static int DBServerCount = 1;
public static void Init(ServerApp app)
{
//DBServerCount = app.GetCluster().GetChannelCount((int)ServerType.GameDb);
TraceLog.Debug("DBServerIDUtils.Init DBServerCount is {0}", DBServerCount);
}
public static uint GetGameDBServerID( long userId)
{
int dbIndex;
//根据uid
dbIndex = (int)(userId % DBServerCount);
return ServerIDUtils.GetLevel1ServerIDByType(WorldServerUtils.GetAppID(),
(int)ServerType.GameDb, dbIndex + 1);
}
public static uint GetGameDBServerID(PlayerInfoWorld playerInfo)
{
return GetGameDBServerID(playerInfo.UserID);
}
}
}