首页 > 技术文章 > valheim:英灵神殿 突破服务器人数上限

liangshu 2021-02-16 17:05 原文

valheim:英灵神殿 突破服务器人数上限

目前这游戏的人数限制是在代码中写死的,通过反编译起源码就可得知

image-20210216115858089

关键代码

 if (this.GetNrOfPlayers() >= this.m_serverPlayerLimit)
 {
     object[] parameters = new object[] { 9 };
     rpc.Invoke("Error", parameters);
     ZLog.Log("Peer " + endPointString + " disconnected due to server is full");
     return;
 }

如果想要彻底关闭人数限制对起判断修改即可,当然你也可以修改 m_serverPlayerLimit成员属性的初始化值来达到修改服务器目的

注意要修改此变量在ZNet类的无参构造函数中

public ZNet()
{
    this.m_hostPort = 0x998;
    this.m_badConnectionPing = 5f;
    this.m_zdoSectorsWidth = 0x200;
    //对服务器玩家数量上限初始化指定,修改器值即可
    this.m_serverPlayerLimit = 10;
    this.m_peers = new List<ZNetPeer>();
    this.m_netTime = 2040.0;
    this.m_characterID = ZDOID.None;
    this.m_referencePosition = Vector3.zero;
    this.m_players = new List<PlayerInfo>();
}
 



推荐阅读