南飞 发表于 2019-7-13 15:36:55

战地2服务器玩家人数限制和小队人数等修改方法(转载)

如果你的服务器的带宽足够,你想让战地2的服务器最大承载超过64人,那么本篇文章将会帮到你。不仅如此,你还可以通过本片文章快速掌握小队人数突破8人限制和服务器最大连接数等一些列的修改方法。虽然战地2已经停服多年,但是这篇关于偏移基址的修改方法,在百度和360搜索基本上搜不到,资源非常匮乏,虽然有部分人掌握,但是从未对其进行分享。本文为国内原创文章,转载请注明来源于战地2中文网http://bf2.fpsace.com
学习本文需要对内存偏移基址有所掌握,推荐使用winhex修改工具。该工具区分64和32位请自行下载。
另外教程将通过windows战地服务器主程序和liunx(32位和64位)同时进行讲解。

我们用winhex打开bf2w32_ded.exe以后,可以按快捷键Alt+G锁定我们需要修改的偏移处,然后在根据旧数值和新数值进行改动,之后保存即可完成。那么掌握数值的修改正是关键。本文以64人改128人为例,其他人数请自行修改(别忘了十六进制转换)


[系统]                [偏移]      [旧数值]      ->      [新数值]
--------------------------------------------------------------------------
最大玩家支持数: appendEntry if >64 -> 128 layer
linux 64bit      18DBB      B840000000      ->      B880000000

linux 32bit      1A6DA      B840000000      ->      B880000000

win 32bit      415DA      BF40000000      ->      BF80000000
--------------------------------------------------------------------------
小队规模: addToSquad 6 -> 8 sq max size
linux 64bit      C3A56      83F805                ->      83F807

linux 32bit      D4CE9      83F805                ->      83F807

win 32bit      5FF37      83F806                ->      83F808               
--------------------------------------------------------------------------
设置最大玩家: setMaxPlayers if > 64 == 100
(You can also remove this limit to allow any playernumber)
linux 64bit      696B0      C744240C40000000 ->      C744240C64000000

linux 32bit      695BA      B840000000      ->      B864000000

win 32bit      2514B      B840000000      ->      B864000000
--------------------------------------------------------------------------
保持最大连接数: netsrv allocConn 64 -> 100
linux 64bit      3D09AF      BA40000000      ->      BA64000000

linux 32bit      42C4E8      83F83F                ->      83F863

win 32bit      2628DC      83F840                ->      83F864
--------------------------------------------------------------------------
服务器: netserver 64 -> 100
linux 64bit      3D1501      C7859C04000040000000 ->      C7859C04000064000000

linux 32bit      42B7FA      B840000000      ->      B864000000

win 32bit      26537E      C7863004000040000000 ->      C7863004000064000000
--------------------------------------------------------------------------
自由连接数: freeConnection 64 -> 100
linux 64bit      3D1C24      4881FA00020000      ->      4881FA20030000

linux 32bit      42C55C      83FA3F                ->      83FA63

win 32bit      26293F      83F840                ->      83F864
--------------------------------------------------------------------------
服务器初始化: netsrv init 64 -> 100
linux 64bit      3D2525      BF00020000      ->      BF20030000
linux 64bit      3D255B      4881FD00020000      ->      4881FD20030000
linux 64bit      3D2542      BF68010000      ->      BFD0020000

linux 32bit      42C24A      C7042400010000      ->      C7042490010000
linux 32bit      42C27C      C7042408010000      ->      C7042410020000
linux 32bit      42C296      83FF3F                ->      83FF63

win 32bit      264C8C      6800010000      ->      6890010000
win 32bit      264CB0      6800010000      ->      6890010000
win 32bit      264CD8      81FF00010000      ->      81FF90010000
--------------------------------------------------------------------------
服务器关闭: shutDown 64 -> 100
linux 64bit      3D3CE9      4881FD00020000      ->      4881FD20030000

linux 32bit      42C758      83FE3F                ->      83FE63

win 32bit      263EC1      81FE00010000      ->      81FE90010000
--------------------------------------------------------------------------
最大连接数: setMaxNoCon 64 -> 100
linux 64bit      3D0720      81FE00010000      ->      81FE90010000

linux 32bit      42D996      81FA00010000      ->      81FA90010000

win 32bit      262B66      3D00010000      ->      3D90010000
--------------------------------------------------------------------------

本文可能有些地方对偏移处的描述翻译不够准确,如果你有兴趣可以参照国外网友的原文:http://pastebin.com/BUuMJwfk
需要说明的是,尽管我们对这些数值进行了修改,也的确突破了相关限制,但是玩家将在游戏中只能看到最大64人,但是进服务器缺可以超过这个限制,这是正常的。当然,如果你想让玩家也能够显示同等人数,需要让玩家的游戏客户端打上renddx9.dll补丁,或者采用战地2中文网开发的跨战网联机平台。

转载来自:http://old.fpsace.com/forum.php?mod=viewthread&tid=4088转载本文章请注明出处,否则将追究其相关责任!



ETTSIN 发表于 2019-7-14 14:51:32

本帖最后由 ETTSIN 于 2019-7-14 15:29 编辑

这可以应用在单机上吗?
还是单机的启动器是别于bf2w32_ded的?

我目前看我自己的
bf2w32_ded
跟bf2.exe都没看到~
相符合的偏移位置?


bfmil 发表于 2019-7-16 12:15:59

这个我最欣赏,现在带宽可以升到千兆,不知会开多少bot,有时间一定要试一下。

南飞 发表于 2019-10-7 16:46:22

在此,我不得不批评一下国内的某些同学,战地2服务器领域一直是一滩浑水。之所以浑浊,无非都是国内战地2圈内某些人的虚荣心作祟,有很多优秀的战地2服务器相关的知识,都因为这些虚荣心导致封闭而不可寻。
其实,大多数优秀的内容我们都是在国外大神那里找到了答案,只不过有些国内同学只是藏着掖着不愿意分享罢了。

更有甚者,视若珍宝,且不许他人使用

这里用链接来印证一下在贴吧活跃的这些个同学:
https://tieba.baidu.com/p/5648003204?pid=119165103710
https://tieba.baidu.com/p/5458239836

南飞 发表于 2019-10-8 17:03:21

本文技术学习的原文已经打不开了,这里附录一些相关文章:
https://www.realitymod.com/forum/showthread.php?t=29522

奥利的给给 发表于 2020-11-7 16:44:23

请问一下,模组如何更改小队人数限制比如 最多6人改为最多8-10个人()

yujiexing 发表于 2020-12-21 15:04:18

感谢分享

AthlonII 发表于 2021-8-6 21:21:36

还是支持一下吧。哈哈。虽然看不懂。不会弄吧。(是没有弄)但是吧也不能白嫖。是吧。哈哈哈哈。谢谢群主。

AthlonII 发表于 2021-8-6 21:21:57

AthlonII 发表于 2021-8-6 21:21
还是支持一下吧。哈哈。虽然看不懂。不会弄吧。(是没有弄)但是吧也不能白嫖。是吧。哈哈哈哈。谢谢群主。 ...

也能看懂。哈哈。

AthlonII 发表于 2022-1-9 11:05:35

上面说的那个十六进制转换是啥意思啊?怎么操作? 例如这个83F806是啥意思啊?怎么转换?
页: [1] 2
查看完整版本: 战地2服务器玩家人数限制和小队人数等修改方法(转载)