Centos7开地狱已满服

2024-01-22 13:10
文章标签 centos7 地狱 已满服

本文主要是介绍Centos7开地狱已满服,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

码农一枚,闲暇之余尝试自己搭下服务器玩玩。工作当中基本上都是以linux服务器为主,所以该教程是基于linux系统来的,而且鉴于网上基于Centos7的相关完整教程偏少,固自己结合官网教程和网上相关资料尝试第一次搭建。如有不对的地方,欢迎各位指出。
PS:插件安装教程已出,可参考另一篇文章Centos7开地狱已满服之插件安装


一、准备工作

  1. 云服务器一台(我这里用的是腾讯云,配置一般,2核4G,3M带宽,资金充裕的建议上阿里云,各位大佬懂的)。开服就得下点本钱呀,心都在滴血。。。

  2. 云服务器控制台创建好对应的安全组,并开放27015端口,TCP和UDP两个(官方默认)。这里以腾讯云为例:在这里插入图片描述
    这里也贴出steam官方提到所涉及到的端口
    在这里插入图片描述

  3. linux版的Steam 命令行版客户端,官方教程和下载地址都在这。此处贴出我已经下载好的linux版压缩包:https://pan.baidu.com/s/1mYy_IIA-nprh0ED7Yp-bTA,提取码:b639

二、SteamCMD 的安装

这里比较多的命令都是参照官方的,主要以手动安装为例

  1. 远程登录到服务器(我这里是以普通用户来登录,为了安全考虑,我是关闭了root用户远程登录)
  2. 切换到root用户(当然如果是以root用户来登录,该步骤可忽略)
  3. 安装所需要的依赖项
yum install glibc libstdc++
yum install glibc.i686 libstdc++.i686
  1. 安装screen,主要方便开启一个活动窗口
yum install screen -y
  1. 创建steam用户
useradd -m steam
  1. 切换到steam用户
su steam
  1. 进入主文件夹
cd
  1. 为 SteamCMD 创建目录并切换至该目录
mkdir Steam && cd Steam
  1. 下载或上传linux版的steamcmd客户端并解压(可通过官方提供的地址下载)
  • 官方站点
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
  • 国内站点
curl -sqL "https://media.st.dl.bscstorage.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

三、NMRIH服务端下载

  1. 运行screen命令,创建一个活动窗口,防止中途游戏下载过程因为网络问题中断
开启一个叫steam的活动窗口
screen -S steam
ctrl+A+D退出
screen -ls查看当前有哪些活动窗口
screen -x pid/窗口名称 进入窗口
  1. 进入解压后的目录下,运行 SteamCMD
 ./steamcmd.sh
  1. 登录 SteamCMD,这里可以匿名登录,也可以输入自己的steam帐号密码登录(官方建议创建一个服务端专用的 Steam 帐户)。如果是帐号密码登录第一次登录,steam会向你的邮箱发送验证码,到时输入验证码即可。
匿名登录
login anonymous帐号密码登录
login <用户名>
下一步会要求输入你的密码
  1. 为NMRIH设置安装目录(我这里是安装在/mnt/steamapp目录,可以根据自己实际情况选择安装目录)
force_install_dir /mnt/steamapp
  1. 应用下载,317670是NMRIH。应用id可从http://steamdb.sinaapp.com/获取到
    在这里插入图片描述
app_update 317670 validate
这时ctrl+A+D退出窗口,让它自己慢慢下载即可
  1. 完成之后输入quit退出即可(screen窗口可以不必杀掉,后面保持服务器后台运行时需要用)

四、运行

  1. 进入安装好的游戏目录下,会有一个srcds_linux的脚本,该脚本就是用来开服用的
cd /mnt/steamapp
  1. 开服前,建议做好以下操作(这里的目录是以我自己这里的为例)
将/home/steam/Steam/linux32目录下的steamclient.so拷贝至/home/steam/.steam/sdk32目录下(其实这里可以参考官方的,直接建立一个软连接 ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so,but我是直接拷贝过去的。。。)。这里有可能/home/steam/.steam下的sdk32文件夹不存在,自己创建一个即可。
cp /home/steam/Steam/linux32/steamclient.so /home/steam/.steam/sdk32
进入游戏的配置文件夹下,创建server.cfg这么一个文件,这是服务器的相关配置
cd /mnt/steamapp/nmrih/cfg
touch server.cfg && vim server.cfg

关于server.cfg配置项,我不知道从哪里去找,有知道的大佬麻烦解答下,或者有配置实例的也可私信我,万分感谢。以下配置我是从台湾某个论坛搬过来的。。。

// ********************************************************************************
//                                                                                                                       *
//             No More Room in Hell - 社群開發 Server.cfg                                   *
//                        版本 1.0 - 九月 13, 2012                                                        *
//              最新版本: http://avidblur.com/nmrih/server.cfg                                *
//                                                                                                                        *
// ********************************************************************************// ............................ 基本伺服器設定 ............................. //// 你想要在NMRiH的伺服器列表上顯示的伺服器名稱
hostname "No More Room in Hell dedicated server"// 設定主要伺服器管理員的聯絡信箱
sv_contact ""// 讓你的伺服器變成私人的,只有知道密碼的玩家才能遊玩
// 留空白 = 公開
sv_password ""// 遊戲正式開始前的練習時間 預設 45
sv_practice_transtime 45// 遊戲正式開始前的冷卻時間 預設 5
sv_preround_freezetime 5// 伺服器顯示在哪個世界區域
// -1 = 世界
//  0 = 美東
//  1 = 美西
//  2 = 南美
//  3 = 歐洲
//  4 = 亞洲
//  5 = 澳洲
//  6 = 中東
//  7 = 非洲
sv_region 4// 設定伺服器區域網路或是網際網路?
//  0 = 網際網路
//  1 = 區域網路
sv_lan 0// 禁用自動踢掉 = 0 ,玩家閒置過久時自動踢掉
sv_idle_autokick_enabled 1
sv_idle_autokick_time 300.0// 透過麥克風來語音通信
sv_voiceenable 1// 玩家能夠看見或聽見其他玩家打字、說話,沒有隊伍限制 0=關閉 1=開啟
sv_alltalk 0// 玩家嘗試重新連線多久後連線逾時
sv_timeout 65// 伺服器允許暫停
sv_pausable 0// 遠端密碼 (遠端遙控),遠端密碼處可以留空白,不過還是建議您設定一個安全密碼.
// 需要安全密碼? 來看看 https://www.grc.com/passwords.htm 自動產生一個密碼
rcon_password ""// 允許玩家傷害其他隊友
mp_friendlyfire 0// 腳步聲
mp_footsteps 1// 手電筒
mp_flashlight 0// 限制玩家死亡的觀戰模式
mp_forcecamera 1// 一張地圖的總遊戲時間(分鐘),時間過後自動換地圖
mp_timelimit 30// 一張地圖的回合數
mp_maxrounds 2// 副檔名為 .txt 的檔案包含了伺服器的地圖循環
// mapcycle.txt - 全部地圖
// mapcycle_objective.txt - Objective 地圖限定
// mapcycle_survival.txt - Survival 地圖限定
mapcyclefile "mapcycle.txt"// 在伺服器列表上顯示標籤讓玩家能夠更容易找到想要的伺服器
// "Official" tags:
// custom - 如果你的伺服器是自定義設定/配置
// objective - 如果你的伺服器只限定 Objective 地圖
// survival - 如果你的伺服器只限定 Survival 地圖
// 例如: sv_tags "example1, example2, example3"
sv_tags "vanilla"// ............................ 下載設定 .................................. //// 允許玩家上傳噴漆等等(NMRiH 預設噴漆為禁用,所以設定為 0 是最佳選項)
sv_allowupload 1// 允許玩家下載檔案
sv_allowdownload 1// 允許下載地圖/紋理等等檔案大小上限(以MB計算)
net_maxfilesize 64// 允許從網站上更快速的下載地圖/紋理等等!
// 注意: 如果留空白的話(sv_downloadurl "")客戶端連接將會從你的伺服器下載自定義地圖等等.
//
// 例如: 1 - 伺服器有一張地圖叫 "nmo_example.bsp" 在 maps 資料夾裡
//          2 - 網站伺服器也有一個叫 "nmo_example.bsp" 的檔案在 "http://www.yourwebsite.com/nmrih/maps/nmo_example.bsp"
//          3 - 所以, sv_downloadurl 應該要設定成 "http://www.yourwebsite.com/nmrih/"
//
sv_downloadurl ""// ............................ 性能設定 .............................. //// 設定伺服器幀率上限(設定伺服器幀率能更一致的管理)
fps_max 60// 允許伺服器最小頻寬速率, 0 = 無限制
sv_minrate 3500// 允許伺服器最大頻寬速率, 0 = 無限制
sv_maxrate 0net_splitpacket_maxrate 80000
sv_parallel_packentities 1
sv_parallel_sendsnapshot 0// 優先將排隊中的封包發送出去,而不是一個一個發送.
net_queued_packet_thread 1// 最多能等待幾 # 秒將下一個封包發送出去(0 == 沒有限制).
net_maxcleartime 4.0// 伺服器允許每秒最低更新速率
sv_minupdaterate 10// 伺服器允許每秒最高更新速率
sv_maxupdaterate 66// 伺服器允許每秒最小命令速率
sv_mincmdrate 10// 伺服器允許每秒最大命令速率
sv_maxcmdrate 66sv_client_min_interp_ratio 1sv_client_max_interp_ratio 5sv_client_cmdrate_difference 20// 可用來強制設定 cl_predict 值給連線的玩家 (當他們連接的時候).
// -1 = 讓玩家隨意設定 cl_predict
//  0 = 強制設定 cl_predict 為 0
//  1 = 強制設定 cl_predict 為 1
sv_client_predict -1// ********************************************************************************
//                                                                                                                        *
//                         自定義 NMRiH 遊戲設定                                                       *
//                                                                                                                        *
//  重要: 如果你的伺服器是使用自定義遊戲設定在 sv_ tags 上添加 "custom" 標籤!
//                                                                                                                        *
//  刪除前面的斜線 (這個"// ") 來自定義遊戲設定                                            *
//  在你的 /cfg/ 資料夾下編輯或新增 "nmrih_custom.cfg" 檔案                       *
//                                                                                                                        *
// ********************************************************************************// exec nmrih_custom.cfg// .............................. 其他設定 .............................. //// 允許玩家使用 "暫停" 指令? (最好禁用以避免腳本氾濫)
sv_allow_wait_command 1// 強制伺服器預先載入地圖和一些檔案
sv_forcepreload 0// 啟用日誌? (off/on)
log off// ............................... Sourcemod 設定 .............................. //// ********************************************************************************
//                                                                                                                        *
//                進階伺服器設定(最好不要更改!)                                                    *
//                                                                                                                        *
// ********************************************************************************sv_master_legacy_mode 0
exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip
heartbeat
  1. 大功告成,开服
./srcds_run -game nmrih +map nmo_broadway -maxplayers 8

结语

由于是第一次搭建服务器,很多东西还没来得去研究,比如如何汉化,如何加入第三方插件。如有哪位大佬有经验可供分享,是在是万分感谢!!!

这篇关于Centos7开地狱已满服的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/633078

相关文章

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc

centos7 安装rocketmq4.7.0以及RocketMQ-Console-Ng控制台

一、前置工作 1.1安装jdk8 https://blog.csdn.net/pang_ping/article/details/80570011 1.2安装maven https://www.cnblogs.com/116970u/p/11211963.html 1.3安装git https://blog.csdn.net/xwj1992930/article/details/964

linux 安装sar工具,centos7-sar工具的安装过程及其简单应用(1)

10时02分44秒     bond0      0.00      0.00      0.00      0.00      0.00      0.00      0.00 10时02分44秒     vnet3      1.00      8.50      0.19      5.52      0.00      0.00      0.00 10时02分44秒      eth

centos7 网卡配置文件

1、Centos6与Centos7网络命令对照表 2、网络配置文件解释说明 静态IP配置: cat /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static DEVICE=eth0 NAME=eth0 ONBOOT=yes IPADDR=192.168.10.250 NETMASK=255

【centos mysql安装】CentOS7安装mysql5.6

下面详细介绍mysql安装在linux安装步骤 一、安装mysql 1、下载安装包使用wget命令安装 wget -c -t0 https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz 2、卸载自带的 Mariadb [root@localhost ~]# rpm -qa|g

Centos7下,Vsftpd工具,搭建ftp服务器

Centos7安装Vsftpd工具 1.下载与安装 1.1 安装环境 测试系统:Centos7.0 所用软件:vsftpd-3.0.2-21.e17.x86_64 下载地址: http://mirror.centos.org/centos/7/os/x86_64/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm 1.2 开始安装 1.2.1 查询是否系统