目录:
引语
SSH 连接
运行环境安装
CentOS
Ubuntu
steamcmd 的下载及使用
CentOS 用户
Ubuntu 用户
编写启动文件与生成配置
房间配置
- KFweb.INI
- LinuxServer-KFGame.INI
- LinuxServer-KFEngine.INI
开服与网页后台
安装 GNU Screen
房间欢迎界面设置
多人房间开设
补充资料
一些指令含义
vi/VIM 使用
Filezilla 使用简述
引语
Linux 开服, 我默认大家都是用云服务器, 想来应该没人电脑是 Linux 系统吧.
因为很多人可能不了解 Linux, 所以文章会写得很详细, 有补充资料, 大家可以看看
SSH 连接
打开 putty 或者 Xshell. 当然用云服提供给你的远程登陆窗口也行, 但强烈推荐 Xshell, 功能真得很强大.
输入公网 ip; 连接; 输入用户名与密码; 连接上服务器
运行环境安装
在开始之前, 必须先安装运行 SteamCMD 所需的依赖项.
在这里说一下, 安装程序时, 你输入指令后会提示你是否安装, 输入 y, 按键盘 [Enter] 确定, 当然否定就是 n
- CentOS
- sudo yum install xulrunner.i686
或者:
sudo yum install glibc.i686
注 : 我以前是用这条指令 sudo yum install glibc.i686, 可能因为 CentOS 版本问题这次到后面无法运行 steamcmd.sh, 出现错误 error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory, 网上解决办法感觉很麻烦, 所以现在换成 sudo yum install xulrunner.i686
- Ubuntu
- sudo apt-get install lib32gcc
steamcmd 的下载及使用
CentOS 和 Ubuntu 其实本来没什么区别的, 但是偶然发现 Ubuntu 能直接下载 steamcmd, 为了写详细点, 就分开写了.
下面会新建一个 steam 用户, 因为直接用 root 有一定的风险.
CentOS 用户
- adduser -m steam #新建用户 steam, 在 / home 目录下有 steam 文件夹
- su - steam #切换为 steam 用户, 注意空格
- mkdir ~/steamcmd #创建 steamcmd 目录
- cd ~/steamcmd #进入 steamcmd 目录
- wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz #下载
- tar -xvzf steamcmd_linux.tar.gz #解压
- ./steamcmd.sh #运行程序
- login anonymous #匿名登陆
- force_install_dir .\KF2Server\ #设置安装目录
- app_update 232130 validate #下载 KF2 服务器, 如果下载失败, 继续输入指令重新下载
- quit #下载完毕后, 退出
注: 从官方链接下载 steamcmd, 用 wget 下载链接, 要是提示 wget: 未找到命令, 你需要自己安装
yum install wget
Ubuntu 用户
- useradd -m steam #新建用户 steam
- cd /home/steam #跳转到用户目录
- sudo apt-get install steamcmd #安装 steamcmd,steam 提供的跨平台开服工具
- ln -s /usr/games/steamcmd steamcmd #将安装好的 steamcmd 链接到当前目录方便执行
- ./steamcmd #执行程序
- login anonymous #匿名登陆
- force_install_dir .\KF2Server\ #设置安装目录
- app_update 232130 validate #下载 KF2 服务器, 如果下载失败, 继续输入指令重新下载
- quit #下载完毕后, 退出
编写启动文件与生成配置
- cd /home/steam/steamcmd/KF2Server/ #进入 KF2Server 目录下
- vi KF2.sh #用 vi 编写启动文件, 下面是文本中写入的内容
vi 输入的文本:
- #!/bin/sh
- ./Binaries/Win64/KFGameSteamServer.bin.x86_64 kf-bioticslab
接下来开服, 第一次开服会生成房间配置文件
- chmod -R 777 KF2.sh #给 KF2.sh 文件权限
- ./KF2.sh #运行 KF2 服务器
最后出现 DevOnline: Advertising: Region= 表示开服成功, 然后按组合键 CTRL+C 退出程序
房间配置
cd /home/steam/steamcmd/KF2Server/KFGame/Config #进入配置文件目录
使用 vi 修改以下三个文件: KFWeb.INI,LinuxServer-KFEngine.INI 和 LinuxServer-KFGame.INI
- VIM KFWeb.INI
- VIM LinuxServer-KFGame.INI
- VIM LinuxServer-KFEngine.INI
配置修改如下:
KFWeb.INI
bEnable=false 改成 bEnabled=true
ListenPort=8080 默认的话, 开服后网址输入: ip:8080, 访问网页后台. 根据需求是否更改
LinuxServer-KFGame.INI
将? 改为你的设定,# 后为注释, 请善用查找功能
GameDifficulty=? #对游戏难度进行设置 =0(普通)=1(困难)=2(自虐)=3(地狱)
注: 试了才发现 Linux 的配置文件和 Windows 不一样, 查找有两个 GameDifficulty,
你要改这个 [Engine.GameInfo] 下面的 GameDifficulty, 是后一个
- AdminPassword=? #管理员密码
- GamePassword=? #游戏密码
- GameLength=? #对游戏波数进行设置 =0(4 波)=1(7 波)=2(10 波)
- ServerName=? #房间名
- GameMapCycles=? #地图循环
这三个是房间欢迎界面设置, 详细点击这里: 房间欢迎界面设置
- BannerLink=? #PNG 图像的外链
- ServerMOTD=? #BannerLink 图像下的消息显示
- WebsiteLink=? #您网站的网址
- LinuxServer-KFEngine.INI
查找 bUsedForTakeover, 将其改为 false
查找 [IpDrv.TcpNetDriver] 下一行添加一行代码, 为了让别人能从创意工坊下载三方地图或插件: DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload
注: 不能直接查找 [IpDrv.TcpNetDriver], 因为编辑器对于方括号处理是括号内各个字母出现位置标识,
或许你可以只查找一半就行了, 例如这样查找:[IpDrv.Tcp
复制下面代码最后, 这段代码是加三方地图或插件的的(其实大家玩最久得还是官方, 开始设置可以跳过此步)
- [OnlineSubsystemSteamworks.KFWorkshopSteamworks]
- ServerSubscribedWorkshopItems=?
代码解释: 这个很好理解, 其实就是让服务器从创意工坊下载地图或插件
ServerSubscribedWorkshopItems=? 你可以多复制几行这段代码, 将? 改为三方地图或插件的 id
具体举例:
假如我要装一个三方地图 (id:935744975) 和一个插件(id:1412883748), 我文档最后是这样:
- [OnlineSubsystemSteamworks.KFWorkshopSteamworks]
- ServerSubscribedWorkshopItems=935744975
- ServerSubscribedWorkshopItems=1412883748
插件名字: Controlled Difficulty - Tiger's Build V.2
链接(URL):
你可以从 url 中找到 id=1412883748, 然后把? 改成 id 就行了
三方图名字: KF-De_Dust2
链接(URL):
同理, 但多一步骤, 在地图循环中添加地图的名称, 按格式写就行了. 另外加名称也可以在网页后台实现.
开服与网页后台
- cd /home/steam/steamcmd/KF2Server/ #回到 KF2Server 目录下
- ./KF2.sh #运行 KF2 服务器
上面就算开服成功了, 打开浏览器, 公网 IP:8080 进入网页后台, 管理员密码登录, 里面可以看一些直观数据, 以后修改也方便.
安装 GNU Screen
SSH 连接云服, 上面虽然开服了, 但是关掉 SSH, 这个任务就会结束, 所以需要 Screen, 能够开一个独立窗口运行任务, 即使断掉 SSH 连接也能一直运行任务.
按上面步骤来的话, 如果你是在新建的 steam 用户下, 记得切到 root 用户安装, 输入 su, 回车, 输密码. 切回 steam 用户则是 su - steam
- yum install screen #安装 Screen
- screen -S KF2server #创建一个 Kf2 窗口, 这里 KF2server 你也可以改成任意名字
- ./KF2.sh #运行 KF2 服务器
- ctrl+a+d #会使当前 screen 窗口分离 (detach) 为独立的会话. 会话分离后就可以断开 SSH 连接(关闭 Xshell)
注: ctrl+a+d 有的人按了没反应, 我是按住 ctrl 不放, 先按一下 a 然后松开 a 再按一下 d, 不是 a 与 d 一起按
如果想切回 KF2 服务器的 Screen 窗口, 可使用如下命令
- screen -ls #列出所有 screen 窗口, 可以看到进程号, 例如 9567
- screen -R 9567 #恢复 KF2Server 窗口
如果想杀死进程然后做其他操作
kill 9567 #杀死 9567 进程
房间欢迎界面设置
确保游戏服务器没有运行
编辑 PCServer-KFGame.INI:
找到这个部分并进行编辑, 这是默认的部分:
- BannerLink=http://art.tripwirecdn.com/TestItemIcons/MOTDServer.png
- ServerMOTD=Welcome to our server. \n \n Have fun and good luck!
- WebsiteLink=http://killingfloor2.com/
BannerLink 是必须是 PNG 图像. 想添加自己的图片, 你可以自己搭建图床或者用别人的免费图床.
网上一大堆免费图床, 选择你喜欢的, 一般要你注册账号, 然后你就可以上传图片.
注: 图片必须是 PNG 格式, 分辨率为 512*256, 然后用图片外链地址, 就是输入链接能直接打开一张图片的那个, 举例:
ServerMOTD 是 BannerLink 图像下的消息显示
注: Linux 中文会显示乱码, 用英文吧
您可以使用 "n" 来创建一个新行, 就像在默认消息中一样
改变字体颜色和大小
ServerMOTD=<font color="#FF0000" size="60">weijiejie</font>
展示效果:
- weijieji
- #FF0000 是红色, 想改成其他颜色, 度娘 html 颜色代码表
60 当然是 px 大小, 自己根据情况改
WebsiteLink 是您网站的网址(随便填, 默认也行)
保存, 启动服务器, 享受欢迎屏幕.
多人房间开设
复制房间启动程序 KF2.sh 然后重命名, 加入代码 ?ConfigSubDir=Name
- cd /home/steam/steamcmd/KF2Server/ #进入 KF2.sh 所在的目录
- cp KF2.sh KF2_new.sh #复制 KF2.sh 并命名为 KF2_new.sh, 这个命名根据你自己, xxx.sh
- VIM KF2_new.sh
修改 KF2_new.sh, 改成如下:
- #!/bin/sh
- ./Binaries/Win64/KFGameSteamServer.bin.x86_64 kf-bioticslab?ConfigSubDir=Name
开服:
./KF2_new.sh
开服成功后, ctrl+c 关闭窗口,
- cd /home/steam/steamcmd/KF2Server/KFGame/Config ## 进入 Name 文件夹所在目录
- ls ## 列出当前目录文件
你在这可以看见 Name 文件夹
cd Name #进入 Name 文件夹
接下来就是和之前一样, 修改那三个配置文件
VIM LinuxServer-KFEngine.INI, 打开文件, 查找 Port 和 PeerPort
默认 Port=7777,PeerPort=7778
你将 Port 改为其他数字, PeerPort 为 Port+1
例如: Port=7773,PeerPort=7774
VIM KFWeb.INI, 打开文件, 更改网络端口 , 默认 ListenPort=8080, 改为其他数字, 比如 8081.
bEnable=false 改成 bEnabled=true
VIM LinuxServer-KFGame.INI, 打开文件, 改名, 其他配置也可以改改.
补充资料
很多人不了解 Linux, 在此补充点知识, 写得并不详细. 如果不理解可以直接度娘, 网上一大把详细文档
一些指令含义
小技巧: 代码补全, 按键盘[Tab]
- pwd #看当前所处目录
- ls #列出目录
- cd #切换目录, 比如进入 home 目录下: cd /home
- cd .. #上级目录
- mkdir test #创建 test 文件夹
- rm -rf test #删除文件夹 test 及其子文件
- chmod -R 777 test #给 test 及其子文件授予 777 权限, 即能进行读, 写和执行操作
cp file1 另一路径 / file2 复制文件 file1 到另一路径并命名为 file2
vi/VIM 使用
vi/VIM 共分为三种模式, 分别是命令模式 (Command mode), 输入模式(Insert mode) 和底线命令模式(Last line mode)
命令模式:
一进来就算命令模式, 此时敲字母会被当做命令来使用.
: 进入底线命令模式, i 进入输入模式
命令 | 含义 |
---|---|
: | 进入底线命令模式,注意如果没反应,关掉输入法 |
i | 进入输入模式 |
gg | 回到文档第一行 |
/txt | 向下查找 txt ,就是记事本里面的查找功能 |
?txt | 向上查找 txt |
n | 配套上面的查找,查找下一个 txt |
N | 往上查找,找上一个 txt |
输入模式:
进入这里就能输入文本啦! 操作和普通文本编辑器一样, 没什么要说的.
输入完成后, 按键盘 [Esc] 退回命令模式.
底线命令模式:
你输入命令后按键盘 [Enter] 可以执行命令.
命令 | 含义 |
---|---|
q! | 不保存退出 |
wq | 保存退出 |
Filezilla 使用简述
如果你用不习惯 vi, 可以将配置文件从云服下载下来, 本地改好然后再上传回去
连接 FIlezilla 填写内容举例:
- sftp://118.25.173.70 #形如此格式在主机那栏目填写公网 IP
- root #用户名
- WOR1545FCW #密码
- 22 #端口默认 22
来源: http://www.bubuko.com/infodetail-2961191.html