首页
碎碎念
东邻西舍
本站信息
前来吐槽
统计
Search
1
openwrt系统上安装第三方插件
26,757 阅读
2
ubuntu下zerotier的基本使用教程
13,578 阅读
3
给小米R3G更换系统:从padavan刷成openwrt
12,848 阅读
4
openwrt使用第一步:设置上网拨号
10,741 阅读
5
openwrt无线中继功能:实现不插网线就能上网
9,519 阅读
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
登录
Search
标签搜索
Linux
建站
Java
踩坑实录
Ubuntu
MySQL
折腾搞机
HTML
CSS
MyBatis
Spring
SQL
Nginx
路由器
树莓派
OpenWrt
Maven
Git
Win10
只言片语
知识分子没文化
累计撰写
83
篇文章
累计收到
152
条评论
首页
栏目
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
页面
碎碎念
东邻西舍
本站信息
前来吐槽
统计
搜索到
2
篇与
的结果
2022-02-12
CS1.6 服务器安装插件及优化教程
目录: 一、安装插件破解服务器正版限制 1.1、安装 Metamod 1.2、安装 Rehlds 1.3、安装 reunion 二、通过安装插件增加游戏功能 ——待完成 安装 AMX Mod X 三、服务器管理 ——待完成 3.1、OP管理 3.2、正版添加人机 环境说明: 系统:Ubuntu20.04 此篇承接上篇:Ubuntu搭设CS1.6游戏服务器 - Roookie博客 | 记录 · 收纳 · 分享 (wlplove.com) 一、安装插件破解服务器正版限制 破解服务器的盗版限制会用到第三方插件,因此需要安装一系列框架。注意,以下的操作都是基于服务器程序文件。 1.1、安装 Metamod Metamod 是一个位于半条命引擎和半条命游戏模组之间的 plugin/DLL 管理器,允许动态加载/卸载类似模组的DLL插件,以向HL服务器或游戏模组添加功能。原 Metamod 项目在 2013 年更新了 V1.20 版本之后就断更了,目前已经过于陈旧,所以不再使用官方版本的 Metamod 框架。而是使用其他开源的非官方版本,比如 Metamod-P 与 Metamod-r。其中,Metamod-r 又算是基于 Metamod-P 改进而来,因此我们选择 Metamod-r。 安装文档:安装 · theAsmodai/metamod-r Wiki (github.com) Metamod-r V1.3.0 版本下载链接:https://github.com/theAsmodai/metamod-r/releases/download/1.3.0.86/metamod_1.3.0.86.zip 安装步骤很简单: 第一步:解压压缩包,将其中的 “addons” 文件夹上传到服务器端文件根目录的 “cstrike” 文件夹下面。 第二步:编辑 “cstrike” 文件夹下的 liblist.gam 文件,找到文件中的这一行: # Linux gamedll_linux "dlls/cs.so" # Windows gamedll "dlls\mp.dll" 修改为: # Linux gamedll_linux "addons/metamod/metamod_i386.so" # Windows gamedll "addons\metamod\metamod.dll" 这样就安装完了 Metamod-r,但是由于 Metamod-r 与原始 HLDS 不兼容。所以还得安装 ReHLDS。 1.2、安装 Rehlds ReHLDS 是原始 HLDS(Half-Life Dedicated Server,即半条命专用服务器) 逆向工程的结果,在开发中发现并修复了 HLDS 的许多缺陷和潜在错误。ReHLDS 项目提供了更比官方稳定的半条命专用服务器,并扩展了模组和插件的 API,并且也进行了一定程度的性能优化。 下载链接: 需要科学:https://github.com/dreamstalker/rehlds/releases/download/3.11.0.767/rehlds-bin-3.11.0.767.zip 免翻墙:https://gh.ddlc.top/https://github.com/dreamstalker/rehlds/releases/download/3.13.0.788/rehlds-bin-3.13.0.788.zip 安装文档:dreamstalker/rehlds: Reverse-engineered HLDS (github.com) 安装步骤也很简单,解压压缩包,用 bin/linux32 中的 “engine_i486.so” 文件替换掉根目录下的同名文件。此时尝试启动服务器程序,如果有这样的提示那就说明安装成功: [][] 1.3、安装 reunion Reunion 是 ReHLDS 的 dproto 项目的延续。它是一个用于 Metamod 框架的插件,其作用是允许不同协议(47 和 48 no-steam)的 CS1.6 游戏客户端加入服务器。 下载链接: 需要科学:https://raw.githubusercontent.com/x7s/reunion/master/reunion_0.1.92.zip 免翻墙:https://gh.h233.eu.org/https://github.com/dreamstalker/rehlds/releases/download/3.13.0.788/rehlds-bin-3.13.0.788.zip 解压压缩包,要用到的是 “reunion.cfg” 与 “bin” 文件夹下的文件。 第一步:在 “cstrike/addons” 文件夹下创建一个文件夹 “reunion”, Linux 端上传 bin/Linux 文件夹下的文件(是文件而不是 Linux 文件夹)到新建的这个文件夹, Windows 端同理,上传 bin/Windows 文件夹下的文件。 第二步:编辑位于 “addons/metamod” 下的 metamod 插件配置文件 plugins.ini(没有就创建一个),向其中添加如下配置: # Linux linux addons/reunion/reunion_mm_i386.so # Windows: win32 addons\reunion\reunion_mm.dll 第三步:复制 “reunion.cfg” 文件到服务器文件根目录。 安装完成后,重启服务器程序,在控制台输入 meta list 命令回车,可以查看当前运行的插件列表: >> meta list Currently loaded plugins: description stat pend file vers src load unlod [ 1] Reunion RUN - reunion_mm_i386. v0.1.0.9 ini Start Never 1 plugins, 1 running 结果显示 reunion 插件当前为运行状态,即说明安装成功。现在盗版 CS1.6 客户端就能加入服务器了。 二、通过安装插件增加游戏功能 ——待完成 Meatmod 插件列表:Metamod Plugins 安装 AMX Mod X AMX Mod X 是一个Metamod插件。AMX Mod X是半条命1的Metamod插件。它为游戏引擎及其模组提供了全面的脚本。脚本可以截获网络消息、日志事件、命令、客户端命令、设置 cvar、修改实体等。 下载链接:AMX Mod X - Half-Life Scripting for Pros! 安装文档:手动安装 AMX Mod X - AlliedModders Wiki (alliedmods.net) 第一步:解压压缩包,将 “amxmodx” 文件夹上传到 addons 文件夹下。 第二步:编辑位于 “addons/metamod” 下的插件配置文件 plugins.ini(前面应该已经创建了),向其中添加如下配置: linux addons/amxmodx/dlls/amxmodx_mm_i386.so 同样的,安装完成后,重启服务,在控制台输入 meta list 命令可查看 AMX Mod X 是否在运行。 alliedmodders/amxmodx: AMX Mod X - Half-Life 1 Scripting and Administration (github.com) AMX Mod X之系列说明(简介和安装) - 百度文库 (baidu.com) AMX Mod X之系列说明 - 百度文库 (baidu.com) AMXX命令大全 - 百度文库 (baidu.com) [课程]AMX Mod X之系列说明(简介和安装) - 豆丁网 (docin.com) AMX Mod X之系列说明_word文档在线阅读与下载_文档网 (wendangwang.com) 三、服务器管理 ——待完成 服务器相关配置文件:位于 cs1.6/cstrike 目录下,文件名为 server.cfg, 3.1、OP管理 3.2、正版添加人机 CS1.6服务器架设及终极优化教程 牛头人脚本网 (plooy.cn) linux系统架设cs1.6服务器图文教程(兼容47/48协议的non-steam) - HLDS 技术讨论区 - 点通论坛 - Powered by Discuz! (dt-club.net) CS1.6比较完美的server.cfg_uvex888_51CTO博客 设置你的显卡提高CS里的FPS 牛头人脚本网 (plooy.cn) 游戏常用参数 | 反恐精英CS1.6最全最多最广教程 (fps99.com) 参考资料: Debian10搭建CS1.6服务器-荒岛 (lala.im)(这篇博客可能需要科学上网才能看到) cs1.6服务器搭建 2021-11-30 - 王冰冰 - 博客园 (cnblogs.com)
2022年02月12日
4,878 阅读
1 评论
1 点赞
2022-01-16
Ubuntu搭设CS1.6游戏服务器
目录: 前言 一、创建系统新用户 二、SteamCMD 2.1、安装 2.2、进入 SteamCMD 控制台 三、下载游戏服务器文件 3.1、设置下载位置 3.2、下载文件 四、启动服务器程序 4.1、启动 4.2、报错信息 4.2.1、报错信息之一 4.2.2、报错信息之二 4.2.3、报错信息之三 4.3、开放端口 五、连接服务器 环境说明: 服务器:阿里云轻量应用服务器 系统:Ubuntu 20.04 前言 CS,全称 Counter-Strike,起初是1999 年由民间团队为游戏《半条命(Half-Life)》的开发的游戏模组,由于后来深受玩家的喜爱,2000年由 Valve 购得版权发行成为独立游戏。后续出过《反恐精英:零点行动》《反恐精英:起源》和《反恐精英:全球攻势》等续作。CS 1.6 作为这个系列的一代经典以及童年回忆,其在整个游戏史上的地位怎样美言都不过分。 最近心血来潮,想搭建一个 CS1.6 服务器来玩一玩,查了不少资料,大概有了点头绪。 CS1.6 有一个专门的服务器程序,叫 HLDS(Half-Life Dedicated Server),即半条命专用服务器,是 Valve 官方(也就是俗称的“V 社”)提供的 CS1.6 服务器端程序。 在下载 CS1.6 的服务器程序时,需要用到 SteamCMD,即 Steam 控制台客户端,这是 Valve 官方开发的一个命令行版本的 Steam 客户端,它的主要用途就是安装和更新 Valve 开发的游戏的专用服务器程序文件。 一、创建系统新用户 安装 SteamCMD 之前需要先创建一个用户。 因为按照官方文档的建议,最好创建一个新用户来专门运行 SteamCMD,使用 root 用户运行 SteamCMD 时会有安全风险。当然理论上来说,如果当前用户是非 root 用户,那么可以不创建新用户,使用当前用户直接操作也是一样的。 相关参考资料:Linux 用户和用户组管理 | 菜鸟教程 (runoob.com) 注意:这一步的操作需要 root 权限。 创建一个名为 steam 的新用户: #-m:自动创建用户目录 #-s:指定用户的shell解释器,这里设为bash useradd -m -s /bin/bash steam 然后设置用户密码: passwd steam 到这一步之后,执行后面的 apt 命令时,可能会出现报错: steam is not in the sudoers file. This incident will be reported 或者: steam 不在 sudoers 文件中,此事将被报告 解决方法有两种(需要有 root 权限): 按照报错提示,将 steam 用户添加到 sudoers 文件中,编辑 sudoers 文件: sudo nano /etc/sudoers 仿照root用户的格式,在如下位置添加 steam 这一行内容(请忽略 steam 前的“+”,这只是为了方便说明这一行内容是新添加的): # User privilege specification root ALL=(ALL:ALL) ALL + steam ALL=(ALL:ALL) ALL ctrl + o 保存,ctrl + x 退出。 将 steam 用户添加到 sudo 用户组(在 root 用户下操作): adduser steam sudo 最后切换到新建的 steam 用户: su steam 二、SteamCMD SteamCMD 的官方文档:Main Page:zh-cn - Valve Developer Community (valvesoftware.com) 下面的这部分参考自官方文档,如果这个过程中有疑问的话也可以读一读官方文档。另外,值得一提的是,官方文档中的大部分资料都提供了中文版本,这点给个大大的好评。 2.1、安装 安装方法:Steam 控制台客户端 - Valve Developer Community (valvesoftware.com) 在官方文档中提供了两种方式来安装 SteamCMD,一种是安装来自软件仓库的软件包,另一种是手动下载压缩包再解压安装。 为了方便,直接采用第一种,用 apt 命令安装 SteamCMD: sudo apt update && sudo apt install software-properties-common sudo add-apt-repository multiverse sudo dpkg --add-architecture i386 # 安装相关依赖 sudo apt install lib32gcc1 libsdl2-2.0-0:i386 # 安装 SteanCMD sudo apt install steamcmd 安装过程中会出现如下界面,按 Tab 键选择到 OK 再按回车确认 选择“I AGREE”,回车确认,等候等待安装完成。 2.2、进入 SteamCMD 控制台 输入以下命令进入 SteamCMD 控制台: steamcmd 如果是手动安装的 SteamCMD,那么还需要在当前目录下生成一个软链接: ln -s /usr/games/steamcmd steamcmd 否则使用 steamcmd 命令时会提示找不到命令。如果直接使用 apt 命令安装的话则不用生成软连接。 第一次进入时,会更新文件,等待更新完成即可进入 SteamCMD 控制台: 更新完成后会在当前目录下生成一个隐藏的 .steam 文件夹,使用 ls -al 命令查看。 进入到 SteamCMD 控制台之后,如果出现警告信息: Warning: failed to init SDL thread priority manager: SDL not found 这是由于缺少依赖,输入 quit 退出 SteamCMD 控制台,再执行以下命令安装依赖: sudo apt install libsdl2-2.0-0:i386 当正常进入 SteamCMD 控制台后,没有报错信息,就可以开始下载游戏文件了。 三、下载游戏服务器文件 3.1、设置下载位置 下载之前,先设置文件的下载位置: # 用绝对路径: force_install_dir /home/steam/cs1.6 3.2、下载文件 下载游戏服务器文件需要登录,我们可以选择匿名登录: login anonymous 这里就有一个问题,我先匿名登录了之后再设置下载目录,然后就出现了报错,提示要在登录之前设置下载位置: 而在官方文档的这个位置:Steam 控制台客户端 - 下载一个应用,这段描述意思是可以先登录再设置下载目录的,所以我也不清楚这是什么情况,按实际情况来就好吧。 以上准备完成之后就可以下载 CS1.6 游戏服务器文件了: app_set_config 90 mod cstrike app_update 90 validate 需要注意的是,由于 BUG,中途可能下载中断,再次运行 app_update 90 validate 命令会继续下载。多试几次等待出现 “Success” 字样: 服务端文件下载完成之后,输入 quit 退出 SteamCMD 控制台。 我在下载完之后,找下载好的文件时踩了不少坑。下了好几遍之后,最后我发现规律如下: 如果不设置下载目录,则默认会下载到当前目录的 .steam 隐藏文件夹下,具体路径为:.steam/steamapps/common/Half-Life 。 如果将下载目录设置为了绝对路径,那么按照绝对路径就能找到; 如果用了相对路径,则是在隐藏的 .steam 路径下 ,具体路径为 ./steam/steamcmd/; 所以,为了比较容易找到之后下载下来的游戏服务器文件,我的建议是在下载之前将路径设置成绝对路径。 四、启动服务器程序 4.1、启动 启动之前,将目录定位到服务器程序文件的根目录下,先给启动程序赋予执行权限: sudo chmod a+x hlds_run hlds_linux hltv 启动命令为: # 启动 cs1.6 服务器,服务器端口为 27015,地图为“de_dust2”,最大容纳人数为 16 ./hlds_run -game cstrike +port 27015 +map de_dust2 +maxplayers 16 启动命令的格式为: ./hlds_run -game <game> +maxplayers X +map <map> +port <port> 这段启动命令看似复杂,其实并不,简单分析一下你就明白了: ./hlds_run 是根目录下的服务器启动程序,后面一大段是启动参数,几个基本的启动参数含义如下: 参数 含义 -game 游戏名称 +port 游戏服务器启动端口 +map 设置地图 +maxplayers 地图最大容纳人数(2~32) 更多的启动参数可以参考这份官方文档:Command Line Options - Valve Developer Community (valvesoftware.com) 4.2、报错信息 这里我碰到了问题,服务虽然启动起来了,但是有报错信息。不过经过后来的尝试,游戏客户端能连接到服务器,应该是不影响服务基本运行。 但是为了保险起见,我觉得还是有必要消除这些报错信息,尝试着用我的渣渣英语水平分析了一下控制台输出中的报错信息,提取出来一部分可能有用的信息,再加上一些网上其他大佬的资料,差不多就能部分解决这些报错了。 4.2.1、报错信息之一 [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. 这个看提示像是 SteamAPI_Init() 与 SteamAPI_IsSteamRunning() 这两个方法执行失败,找了些资料之后还是无法下手解决,就念在它不影响运行的份上放过它吧。 4.2.2、报错信息之二 dlopen failed trying to load: /home/steam/.steam/sdk32/steamclient.so with error: /home/steam/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory 结合这篇博客 Debian10搭建CS1.6服务器-Rain's Blog (im.ci) 的内容,基本可以确定是这个博主所说的游戏服务器文件缺失的问题,缺失的文件是 .steam/sdk32/steamclient.so,我们可以手动把 .steam/steamcmd/linux32 目录下的 .steamclient.so 文件复制过来一份: # 整个操作还是在 .steam 目录下: mkdir /home/steam/.steam/sdk32 cp /home/steam/.steam/steamcmd/linux32/steamclient.so /home/steam/.steam/sdk32 4.2.3、报错信息之三 couldn't exec listip.cfg couldn't exec banned.cfg 原因在点通论坛的这篇帖子linux系统架设cs1.6服务器图文教程(兼容47/48协议的non-steam)第二部分中提到了,是因为服务器文件根目录的 cstrike 文件夹下缺少了 listip.cfg 和 banned.cfg 这两个文件,listip.cfg 是存放踢出的玩家 IP,banned.cfg 存放的是被管理员封禁的玩家 IP。 所以消除警告信息的办法就是创建这两个文件(空文件即可): # 进入 cstrike 文件夹下 cd ~/cs1.6/cstrike/ # 创建文件并且给775权限 touch listip.cfg banned.cfg && chmod 775 listip.cfg banned.cfg 以上步骤做完之后,ctrl + c 取消刚才的运行,再重新启动一次服务,这样就没有报错信息了。 4.3、开放端口 这是很重要的一步,但也很容易被忽略,不管搭建出怎样牛逼的服务,端口不开放那都是白搭。 开放端口具体步骤就不再赘述了,各个服务器厂商的操作都是大同小异的,无非就是在服务器控制台找“防火墙”之类的字眼,进去之后添加端口即可。 按照官方文档:Half-Life Dedicated Server - Valve Developer Community (valvesoftware.com),完整的游戏服务总共需要四个端口: 端口号 网络类型 用途说明 27015 UDP 游戏传输、pings 27015 TCP RCON协议(RCON - 百度百科) 27020 UDP HLTV 传输(HLTV - 百度百科) 26900 UDP VAC 服务 如果仅仅维持基本的游戏服务及远程管理,只需要添加如下两个端口即可: 到这里,没什么问题的话,服务器就已经运行起来,可以被我们的游戏连接了。 五、连接服务器 现在正版 CS1.6 客户端就可以连接这个服务器了。在首页用~调出控制台,输入命令 connect ip地址/域名,回车即可连接。 或者也可以在游戏中搜索 IP 地址或域名: 可以看到,已经搜索出来了刚建的服务器: 双击可以直接加入。 这是已连接到的样子: 至此,我们用官方工具成功搭建出了一个 CS1.6 的游戏服务器。目前这个服务器还只能允许正版 CS1.6 玩家游玩,下一篇,我们将会通过安装插件来破解这个限制,并且对这个游戏服务器做一些优化。 下一篇链接:CS1.6 服务器安装插件及优化教程 - Roookie博客 | 记录 · 收纳 · 分享 (wlplove.com) 参考资料: Debian10搭建CS1.6服务器-荒岛 (lala.im)(这篇博客可能需要科学上网才能看到) cs1.6服务器搭建 2021-11-30 - 王冰冰 - 博客园 (cnblogs.com) linux系统架设cs1.6服务器图文教程(兼容47/48协议的non-steam) - HLDS 技术讨论区 - 点通论坛(dt-club.net)
2022年01月16日
4,911 阅读
13 评论
0 点赞