地狱已满自定义服务器参数

2024年 7月 23日

我们可以通过server.cfg自定义服务器各种配置

点击文件,前往home/container/nmrih/cfg目录创建server.cfg文件

具体参数可以参考下方配置

//***************************************************************************************
//
//                       No More Room in Hell - Server.cfg
//                         Version 1.13 - March 25, 2023
//      最新版本: https://blog.csdn.net/weixin_43908947/article/details/127372900
//
// **************************************************************************************

// ................................... 服务器基本设置 ................................... //
// 服务器名称
hostname "开服侠kaifuxia.cn"

// 加入服务器的密码
sv_password ""

// 远程控制台密码
rcon_password ""

sv_region 4                                 // 服务器所在地区.-1 = 世界 | 0 = 美国东 | 1 = 美国西 | 2 = 南美 | 3 = 欧洲 | 4 = 亚洲 | 5 = 澳大利亚 | 6 = 中东 | 7 = 非洲
sv_lan 0                                    // 服务器网络类型. 0 = Internet 互联网   | 1 = Local Area Network 局域网

// motdfile "motd.txt"                      // 设置 公告栏/每日信息 文件名
// mapcyclefile "mapcycle.txt"              // 设置 地图列表 文件名
sv_difficulty "classic"                     // 服务器游戏难度. casual-休闲   | classic-经典  | nightmare-噩梦
sv_tags "classics"                          // 服务器类型标签. custom-自定义 | classics-经典 | objective-仅nmo地图 | survival-仅nms地图

// ................................... 下载设置 ................................... //
sv_allowupload 0                            // 允许客户端上传文件. 默认 1
// sv_allowdownload 1                       // 允许客户端下载文件. 默认 1
// net_maxfilesize 64                       // 允许客户端下载文件大小上限(MB). 默认 64

// 设置客户端从网站下载文件, 以加快下载速度, 为空则从服务器的资源里下载.
// 假设服务器地图文件夹中有一个名为 nmo_example.bsp 的地图, 在 Web 服务器中有 nmo_example.bsp
// Web文件地址为 http://www.网站.com/nmrih/maps/nmo_example.bsp
// 则应该设置为  sv_downloadurl "http://www.网站.com/nmrih"
sv_downloadurl ""

// ................................... 性能设置 ................................... //
// fps_max 0                                // 设置服务器运行帧速率的限制, 0=无限制. 默认 300
sv_maxrate 0                                // 服务器分配给一个客户端的最大带宽速率, 0=无限制, (字节/秒). 默认 0
sv_minrate 33000                            // 服务器分配给一个客户端的最小带宽速率, 0=无限制, (字节/秒). 默认 3500
sv_maxupdaterate 66                         // 服务器每秒允许的最大更新数. 默认 66
sv_minupdaterate 10                         // 服务器每秒允许的最小更新数. 默认 10
sv_maxcmdrate 66                            // 服务器每秒允许的最大命令数. 默认 66
sv_mincmdrate 10                            // 服务器每秒允许的最小命令数. 默认 10

sv_parallel_packentities 1                  // 允许服务器并行打包实体. 默认 1
sv_parallel_sendsnapshot 1                  // 允许客户端并行接收其他客户端和服务器同时发送的连续快照. 默认 0
// sv_forcepreload 1                        // 强制服务器端预加载. 默认 0
// sv_unlag_npcs 1                          // 允许对 NPC 执行滞后补偿(实验性). 默认 1
// sv_alternateticks 1                      // 允许服务器仅模拟偶数刻度上的实体. 默认 0
// sv_max_queries_sec 3.0                   // 允许每秒从单个 IP 响应的最大查询数. 默认 3.0
// sv_max_queries_sec_global 3000           // 允许每秒从任何位置响应的最大查询数. 默认 3000
// sv_max_queries_window 30                 // 允许每秒平均查询平均值的窗口. 默认 30

net_splitpacket_maxrate 80000               // 设置对拆分数据包块排队时, 每秒的最大字节数. 默认 80000
net_maxroutable 1260                        // 设置数据包拆分之前, 请求的最大数据包大小(576 - 1260). 默认 1260
net_maxcleartime 4.0                        // 允许发送前等待下一个数据包的最长秒数, 0=无限制. 默认 4.0
net_queued_packet_thread 1                  // 允许使用高优先级线程将队列数据包发送出去, 而不是每帧发送一次. 默认 1
net_compresspackets 1                       // 允许对游戏数据包使用压缩. 默认 1
net_compresspackets_minsize 1024            // 允许压缩的数据包最小大小(字节). 默认 1024
net_splitrate 1                             // 允许每帧发送拆分数据包的碎片数. 默认 1

// 用于限制已连接客户端的 cl_interp_ratio 最小值. 默认 1
// -1 = 让客户端设置 cl_interp_ratio 为任何值 | 其他 = 设置 cl_interp_ratio 的最小值
sv_client_min_interp_ratio 2

// 用于限制已连接客户端的 cl_interp_ratio 最大值. 默认 5
// 如果 sv_client_min_interp_ratio = -1,  那么 sv_client_max_interp_ratio 的设置无效
sv_client_max_interp_ratio 2

// 用于强制连接时客户端的 cl_predict 值. 默认 -1
// 当本地客户端设置 cl_predict=1 时, 表示激活预测物理、运动、射击等 (推荐)
// -1 = 让客户端将 cl_predict 设置为任何值    |  0/1 = 强制 cl_predict 为 0/1
sv_client_predict 1

// 客户端 cl_cmdrate 值被移动到 cl_updaterate 的 sv_client_cmdrate_difference 个单位内
// 且不超过 sv_mincmdrate 和 sv_maxcmdrate . 默认 20
sv_client_cmdrate_difference 20

// ................................... 其他额外设置 ................................... //
// ----------------- 玩家 ------------------ //
sv_idle_autokick_enabled 1                  // 允许自动踢出挂机玩家. 默认 1
sv_idle_autokick_time 120                   // 允许自动踢出判定时长(秒). 默认 120
// sv_max_separation_force 0                // 启用玩家体积碰撞. 默认 1  | (1.11新增)
// sv_observer_health_display               // 允许观众查看玩家生命值. 默认 1  | (1.11新增)
// sv_friendly_fire_factor 0.0001           // 设置队友伤害百分比. 默认 0.1
// mp_friendlyfire 0                        // 启用队友伤害.(0=仅感染时有). 默认 0
// sv_deathnotice 2                         // 启用死亡提示.(2=仅玩家死亡). 默认 0  | (1.11.5新增)
// sv_kill_player_on_disconnect 1           // 允许杀死失去连接的玩家.(防止感染退出后仍然变异). 默认 1  | (1.13新增)
// sv_voiceenable 1                         // 允许玩家用麦克风交流. 默认 1
// sv_alltalk 1                             // 允许玩家的麦克风交流无视距离. 默认 0
// mp_show_voice_icons 1                    // 允许玩家说话时显示头顶的播放器语音图标. 默认 1
// sv_voice_cooldown 3                      // 语音命令冷却时间(秒). 默认 3
// cl_skip_joingame_dialog 1                // 允许客户端跳过欢迎界面, 自动加入游戏.  默认 0  | (1.11.5新增 | 仅客户端可用)

// --------------- 回合时长 ---------------- //
mp_timelimit 999                            // 设置自动切换到新地图之前, 在单个地图上花费的时间(分钟). 默认 45
sv_practice_transtime 45                    // 设置练习时间的时长. 默认 45
sv_preround_freezetime 5                    // 设置回合开始前的冻结时长. 默认 5
// sv_extract_previewtime 12.0              // 设置撤离后自由镜头的时间. 默认 12.0
// sv_wave_begin_grace 30                   // 设置 wave 开始之前的时间. 默认 30
// sv_roundlag_time 10                      // 设置回合之间的等待时间. 默认 10
// mp_bonusroundtime 15                     // 设置一轮获胜后到一轮重新开始的时间. 默认 15
// mp_bonusroundtime_final 15               // 设置最后一轮结束后, 到第二轮重新开始的时间. 默认 15
// sv_nextlevel_on_round_win                // 设置回合胜利后自动切换下一张地图, 而不是重新开始. 默认 0  | (1.11新增)

// ------------- 游戏难度/模式 ------------- //
// sv_challenge 0                           // 启用挑战模式. 默认 0
// sv_realism 0                             // 启用写实模式. 默认 0
// sv_hardcore_survival 0                   // 启用硬核生存模式. 默认 0
// sv_realism_allow_respawn 0               // 允许写实模式重生. 默认 0
// sv_challenge_validate 1                  // 验证挑战模式的返回结果. 默认 1
// sv_watermelon_rescue 1                   // 启动西瓜救援!带他们去撤离区. 默认 1  | (1.13地图新增了更多西瓜)

// ----------------- 复活 ------------------ //
// sv_respawn_allowed 0                     // 允许玩家复活. 默认 0
// sv_respawn_without_tokens                // 允许玩家没有复活令牌时复活. 默认 1
// sv_respawn_with_weapon 0                 // 允许玩家复活时获得武器. 默认 0
// sv_respawn_ammo_pct                      // 设置玩家复活时获得武器弹夹的概率. 默认 75
// sv_respawn_nearby_allowed 0              // 允许在其他玩家附近复活. 默认 0
// sv_respawn_nearby_min_distance           // 设置在其他玩家附近复活时, 距离目标玩家的最小距离. 默认 100
// sv_respawn_nearby_max_distance           // 设置在其他玩家附近复活时, 距离目标玩家的最大距离. 默认 300
// sv_respawn_token_objective               // 允许目标模式下使用复活令牌. 默认 0
// sv_respawn_token_survival                // 允许生存模式下使用复活令牌. 默认 1
// sv_respawn_time_token                    // 设置玩家拥有复活令牌时的重生时间. 默认 5
// sv_respawn_time_notoken                  // 设置玩家没有复活令牌时的重生时间. 默认 30
// sv_respawn_initial_token_count_objective // 设置任务模式复活令牌初始值. 默认 0
// sv_respawn_initial_token_count_survival  // 设置生存模式复活令牌初始值. 默认 0
// sv_respawn_kills_per_token_objective     // 设置目标模式获得一个复活令牌所需分值. 默认 0
// sv_respawn_kills_per_token_survival      // 设置生存模式获得一个复活令牌所需分值. 默认 40
// sv_wave_reset_tokens                     // 允许新 wave 时清空复活令牌. 默认 0
// sv_wave_remove_inflictions               // 允许新 wave 时消除感染. 默认 0
// sv_wave_heal_amount                      // 设置新 wave 治愈血量值. 默认 0
// sv_spawn_grace                           // Spawn grace time  | 复活宽限期. 默认 180
// sv_spawn_grace_wave_percent              // Spawn grace time wave percent  | 复活宽限期 wave百分比. 默认 -1
// sv_spawn_grace_objectivecount            // 完成多少个任务后, 玩家不能重生. 默认 2

// ---------------- 游戏道具 ---------------- //
// sv_health_station_health                 // 设置医疗箱的生命值. 默认 200
// sv_health_station_heal_per_tick          // 设置医疗箱的每秒治愈量. 默认 1
// sv_flare_gun_supply_limit                // 设置信号枪可以召唤补给的最多次数.(-1=无穷大). 默认 1
// sv_resupplytime                          // 设置再次提供补给的时间间隔(秒). 默认 60
// sv_rare_weapon_chance                    // 设置物品盒有机会生成稀有武器(电锯). 默认 0.05
// sv_rare_tool_chance                      // 设置物品盒产生稀有工具的概率(火炬枪、灭火器、焊工). 默认 0.025
// sv_ng_zombie_loot                        // 允许 ng 丧尸掉落战利品. 默认 1  | (1.12.1新增)

// ---------------- 投票相关 ---------------- //
// sv_allow_votes 1                         // 允许玩家投票. 默认 1
// sv_vote_issue_kick_allowed 0             // 允许玩家通过投票踢出其他玩家. 默认 0
// sv_vote_allow_spectators 0               // 允许观众投票.(包括死亡玩家). 默认 0
// sv_allow_dead_votekick_alive 0           // 允许观众投票踢出活着的玩家. 默认 0
// sv_vote_kick_ban_duration 10             // 设置被踢出后封禁时长. 默认 10
sv_vote_creation_timer 150                  // 设置玩家需要多长时间才能进行另一次投票. 默认 150
sv_vote_failure_timer 300                   // 设置投票失败多长时间内不能重新发起投票. 默认 300
// sv_vote_quorum_ratio 0.6                 // 设置同意投票所需的最低合格玩家比例.(0.5-1.0). 默认 0.6
// sv_vote_changedifficulty_restart 1       // 设置玩家改变难度后重新开始游戏. 默认 1
// sv_vote_issue_changechallenge_allowed 1  // 允许玩家通过投票改变游戏挑战. 默认 1
// sv_vote_issue_changedifficulty_allowed 1 // 允许玩家通过投票改变游戏难度. 默认 0
// sv_vote_issue_changelevel_allowed 1      // 允许玩家通过投票改变游戏地图. 默认 1
// sv_vote_issue_nextlevel_allowed 1        // 允许玩家通过投票改变下张地图. 默认 1
// sv_vote_allow_restart_game_skip 1        // 允许玩家投票跳过练习阶段. 默认 1  | (1.11新增)
// sv_vote_issue_restart_game_allowed 1     // 允许玩家投票重新开始回合. 默认 1
// sv_vote_ui_hide_disabled_issues 0        // 允许隐藏被禁止的投票选项. 默认 1

// ------------------ 其他 ------------------ //
// sv_gravity 800                           // 设置世界重力. 默认 800
log on                                      // 启用日志 (off/on)

// ***************************************************************************************
//
//                          高级服务器设置 (最好不要动!)
//
// ***************************************************************************************
exec banned_user.cfg
exec banned_ip.cfg

// 这些命令将在切换地图时运行, 服务器崩溃时可能会从banlist中删除最近的封禁信息, 这可以最小化这个问题
writeid
writeip

// 封禁玩家, 参考(26楼):https://tieba.baidu.com/p/5316771031?pid=111825849054&cid=#111825849054
// banid forever [U:1:204954714]    // vvi
// banid forever [U:1:122213944]    // 汪君

//***************************************************************************************
//
//                                 主服务器设置
//
//***************************************************************************************
// sv_master_legacy_mode 0          // 禁用lagacy模式, 因为steam主服务器不再支持它
heartbeat                           // 发送此服务器准备就绪的心跳信号. 这应该是配置的最后一行

//***************************************************************************************

//-----End of Server.cfg-----

我这里只配置了服务器名称和密码

重启服务器后cfg配置生效