时间:2023-09-21 12:23:06来源:互联网
《叛乱:沙漠风暴(Insurgency: Sandstorm)》是New World Interactive与Focus Home Interactive联合宣布将采用虚幻4引擎打造一部第一人称游戏。叛乱:沙漠风暴(Insurgency:Sandstorm)是一款任务目标明确,融合团队配合、近距离作战的第一人称战术射击多人游戏。作为《Insurgency》的续作。
本教程是基于自己电脑上建立一个游戏服务器,并且可以和局域网外朋友一起玩的情况,当然如果你有一台专用的服务器也可以类似操作建立一台长期在线的游戏房间。本教程基于Windows,下次小编会更新Linux系统下建立服务器的教程。
自建自玩的好处都有啥?可以自定义规则和玩法。例如我看不推荐的评测里有人不喜欢PVE占了点之后可能还要防守很长一段时间的设定,那么自建自玩就可以改规则把这个守点的机制去掉。不用担心水平和素质参差不齐的路人影响游戏体验。可以随意坑自己人服主约等于0延迟。开始教程在开服之前首先确定自家宽带获取的是公网IP还是内网IP,如果只是要在局域网内和朋友一起玩可以忽略
在steam库的工具里直接找“Insurgency: Sandstorm Dedicated Server”,下载并安装。(如果不用steamcmd那么需要购买了游戏的才能找到这个,但开服本身并不需要购买游戏)安装这俩(不一定要,因为装过些游戏的电脑很可能已经装了,不行回头再装)。
InsurgencyServer.exe Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security?MaxPlayers=8?password= -Port=27102 -QueryPort=27131 -log -hostname="Test_Server"
然后保存改名,把扩展名改成bat。例如“开服.bat”。
其中:
Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security 为初始地图和模式。之后设置了管理员可以进游戏后直接改地图,所以初始地图一般不用理。详细的地图与模式见后附录1。
?MaxPlayers= 后的数是最大(真人)玩家数。
?password= 后面设置房间密码,留空则无。
-Port=27102 数字为默认服务器端口。公网ip需要端口映射/转发(并在防火墙上开放)这个端口,互联网上的朋友才能连进你的服务器。
-QueryPort=27131 映射开放这个端口,游戏里的“社区服务器”页面就能搜索到你服务器。
-log 代表开记录窗口(基本都开)
-hostname= 引号内内容为服务器名。如果想要中文名,记得在保存的时候改成ANSI编码。
其实到这里双击运行这个bat就能运行服务器了。但是为了能更好的掌控它,我们还需要一些设置。
设置好管理员后,可以选择性地在相同的文件夹下新建一个“Mapcycle.txt”,
在里面设置地图循环。例如只玩Pve模式可以把下面内容复制进去。
Scenario_Ministry_Checkpoint_Security
Scenario_Outskirts_Checkpoint_Security
Scenario_Summit_Checkpoint_Security
Scenario_Crossing_Checkpoint_Security
Scenario_Precinct_Checkpoint_Security
Scenario_Refinery_Checkpoint_Security
Scenario_Farmhouse_Checkpoint_Security
Scenario_Hideout_Checkpoint_Security
Scenario_Hillside_Checkpoint_Security
Scenario_Outskirts_Checkpoint_Insurgents
Scenario_Summit_Checkpoint_Insurgents
Scenario_Crossing_Checkpoint_Insurgents
Scenario_Precinct_Checkpoint_Insurgents
Scenario_Refinery_Checkpoint_Insurgents
Scenario_Farmhouse_Checkpoint_Insurgents
Scenario_Hideout_Checkpoint_Insurgents
Scenario_Ministry_Checkpoint_Insurgents
Scenario_Hillside_Checkpoint_Insurgents
不过由于是自建自玩而且已经设置了可以随意改地图的管理员,这个Mapcycle.txt不弄也行。
EnableLog=True
MapCycle=Mapcycle
;...............创建地图循环表。Mapcycle.txt 存在时可以把里面的删掉...............[/script/insurgency.insgameinstance]
!Mapcycle=ClearArray
MapCycle=(Scenario="Scenario_Ministry_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Outskirts_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Summit_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Crossing_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Farmhouse_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Refinery_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Precinct_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Hideout_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Hillside_Checkpoint_Security")
MapCycle=(Scenario="Scenario_Summit_Checkpoint_Insurgents")
MapCycle=(Scenario="Scenario_Crossing_Checkpoint_Insurgents")
MapCycle=(Scenario="Scenario_Farmhouse_Checkpoint_Insurgents")
MapCycle=(Scenario="Scenario_Refinery_Checkpoint_Insurgents")
MapCycle=(Scenario="Scenario_Precinct_Checkpoint_Insurgents")
MapCycle=(Scenario="Scenario_Hideout_Checkpoint_Insurgents")
MapCycle=(Scenario="Scenario_Ministry_Checkpoint_Insurgents")
MapCycle=(Scenario="Scenario_Hillside_Checkpoint_Insurgents")
;..............................................................................................................................................
[Rcon]
bEnabled=False
Password=
ListenPort=27015
bUseBroadcastAddress=True
ListenAddressOverride=0.0.0.0
bAllowConsoleCommands=True
MaxPasswordAttempts=3
IncorrectPasswordBanTime=30
; 上面Rcon开始这几项是远程管理服务器用的。[/script/insurgency.inscoopmode]
AIDifficulty=0.5
; AI难度(0-1之间)
bUseVehicleInsertion=True
; 开局是否开车进场(部分地图)
FriendlyBotQuota=5
; PVE友军机器人补充到总共几个人为止。例如此值为5,真人玩家有2个,那么就会补充3个电脑。另外要bBots=True (在下面找)这个才会生效。
MinimumEnemies=4
; 最小敌人生成数量,具体数量和友军人数挂钩。例如只有1名玩家,那么敌人数就是这个数。
MaximumEnemies=16
; 最大敌人生成数量[/script/insurgency.insgamemode]
ServerHostname=Insurgency Sandstorm Server
bKillFeed=False
; 显示右上角击杀提示,默认False
bKillFeedSpectator=True
; 观察者显示右上角击杀提示
bKillerInfo=True
; 显示击杀者ID和所用武器
bKillerInfoRevealDistance=False
; 显示击杀者距离
TeamKillLimit=3
; tk几个后踢出
TeamKillGrace=0.20
TeamKillReduceTime=90
bDeadSay=False
; 死人允许打字
bDeadSayTeam=True
bVoiceAllowDeadChat=False
bVoiceEnemyHearsLocal=True
ObjectiveCaptureTime=30
; 占点时间(秒)
ObjectiveResetTime=-1
; 多久无人站点时间会倒退,负数关。
ObjectiveSpeedup=0.25
; 每多一个人占点加速的倍数
ObjectiveMaxSpeedupPlayers=4
; 最大占点加速人数[/script/insurgency.insmultiplayermode]
RoundLimit=10
; 最大局数(pve超过这个局数没赢就算输)
WinLimit=1
; 赢所需的局数/分数(pvp时)
PreRoundTime = 13
; 每局开始前(坐车)的时间(秒) ps:如果开了开局坐车,那么车到终点前,时间越长开得越远。
RoundTime=300
; 每局时间
bAllowFriendlyFire=True
; 友军伤害开关
FriendlyFireModifier=1.00
; 友伤伤害率
FriendlyFireReflect=0.00
; 友伤反弹率
bMapVoting=True
; 游戏结束后地图投票
bUseMapCycle=True
bBots = False
; 是否允许AI参战【PVE似乎允许这个才会补队友,但是开了之后一些其它配置会变(例如敌人数可能会被限死),所以不建议开】
BotQuota = Varies
; pvp模式两边都补够这个数的机器人
InitialSupply=10
; 第一局开始时军盲(补给)点
MaximumSupply=20
; 最大军盲(补给)点
bSupplyGainEnabled=true
; 整个对局进行中可获得军盲点
bAwardSupplyInstantly=False
; 军盲点立即获得(不用等下一局直接找补给箱就能用)
SupplyGainFrequency=150
; 每获得多少分数就获得1军盲点
IdleLimit = 300
; 挂机xx秒后踢出
IdleLimitLowReinforcements = 150
; 低增援的情况下挂机xx秒后踢出
PostRoundTime = 8
; 每局结束后看数据的时间
GameStartingIntermissionTime = 7
; 游戏开始前(第一局上车之前)预备的时间[/script/insurgency.inspushgamemode]
RoundTimeExtension=300
AttackerWavesPerObjective=5
AttackerWaveDPR=0.25
AttackerWaveTimer=20
DefenderWavesPerObjective=5
DefenderWaveDPR=0.25
DefenderWaveTimer=35
LastStandSetupDelay=10
AdvanceAttackerSpawnsDelay=30[/script/insurgency.insskirmishgamemode]
DefaultReinforcementWaves=5
CaptureBonusWaves=1[/script/insurgency.inscheckpointgamemode]
DefendTimer=75
; 防守敌人反击的时间。如果不喜欢守点的设定直接调1(调0时间会变无限……)
DefendTimerFinal=150
; 最后一个点守点时间。如果不喜欢守点的设定直接调1
RetreatTimer=10
RespawnDPR=0.10
RespawnDelay=20
PostCaptureRushTimer=30
CounterAttackRespawnDPR=0.20
CounterAttackRespawnDelay=20
ObjectiveTotalEnemyRespawnMultiplierMin=1.00
ObjectiveTotalEnemyRespawnMultiplierMax=1.00
FinalCacheBotQuotaMultiplier=1.50
;最后一个点敌人倍数
bCounterAttackReinforce=False
以上内容可以根据自己的需要进行修改,如果有不懂的可以私信小编。
设置完game.ini就可以回到根目录,运行开始时创建的那个bat开服啦!
其他的一些设置:使服务器允许提升玩家等级经验值和 统计值
在第4步的默认设置下,玩家是无法在自建服务器中获得经验值和累积游戏里的统计信息的。这时候则需要在bat 后面加参数
-GSLTToken=登录令牌 -GameStats
其中登录令牌要这样获得:
① 、在https://steamcommunity.com/dev/managegameservers 中登入steam账号并确认账户符合条件。
② 、App ID填入581320(本游戏ID)后点击创建,备注可不填。
变异玩法参数 -mutators
游戏提供了多种设定好的非常规玩法。只需在bat后加参数 -mutators=玩法名 即可。多个玩法可用 , (英文字符下的逗号)隔开。 例如如果想玩小手枪对决电脑近战莽夫,则填入
-mutators=PistolsOnly,Frenzy
其中具体玩法内容及翻译如下:
AllYouCanEat
- 以100点补给点开始
AntiMaterielRiflesOnly
- 武器只能从两把反器材武器中选(M99和M82A1CQ)
BoltActionsOnly
- 武器只能从两把栓动式武器中选(M24和莫辛甘纳;限制武器的规则之间都冲突)
Broke
- 从0点补给开始.
BulletSponge
-玩家生命 .
Competitive
-开启竞技模式:装备更昂贵, 弹夹容量更少, 占点更快.
CompetitiveLoadouts
-使用竞技模式的装备配置代替原有配置。
FastMovement
-移动更快
Frenzy
-敌人变成只会近战的敢死队,具体如下
Guerrillas
-5点补给开始
Hardcore
-硬核模式:更慢移动和更长时间占点
HeadshotOnly
-只有爆头有伤害
HotPotato
-死亡的同时在尸体上掉个拉了引线的手雷(默认包括电脑)
LockedAim
-武器准星锁定屏幕中心
NoAim
-不能右键瞄准
PistolsOnly
-只能用手枪
ShotgunsOnly
-只能用霰弹枪
SlowCaptureTimes
-更慢占点
SlowMovement
-移动得更慢
SoldierOfFortune
-获得分数时获得补给点(这个具体建议在game.ini里调)
SpecialOperations
-开始游戏时30补给点
Strapped
-开始游戏时1补给点
Ultralethal
-中1枪必死
Vampirism
-吸血主义:回复造成伤害量的生命值
Warlords
-开始游戏时10补给点
个别玩法的设定可以在engine.ini里修改(目前内容挺少的只有3个,我也没怎么试过就不做详细说明了,具体可以在官方指南第8页找到相关说明)。
最后举个例子吧:如果你激活了服务器的经验值和统计功能,以及激活了小手枪对决电脑近战莽夫所需的两个变种玩法,那么你的开服.bat内容应该是类似这样的格式的:
InsurgencyServer.exe Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security?MaxPlayers=8?password= -Port=27102 -QueryPort=27131 -log -hostname="Test_Server" -GSLTToken=你的登录令牌 -GameStats -mutators=PistolsOnly,Frenzy
其它可填入.bat 的参数:
-ruleset=OfficialRules 使用官方规则
-EnableCheats 允许作弊模式以测试
(功能强大的管理员作弊界面只有开了作弊模式才能用,可以开无敌或幽灵模式,还能传送到指定坐标等等)