关于Linux系统七日杀服务器的那些事——持续更新中

搭建七日杀服务器:这里的服务器指的是云服务器:阿里云、华为云、腾讯云。用云服务器的好处是可以根据用户多少可以升降服务器配置,这样可以使你花最少的钱并且能很高的保障服务器稳定运行。
	关于带宽:如果你用的是官方地图,服务器最好买包流量的,比如一个月固定3000G流量会给你14M带框,这种优势是比买固定宽带不限流量的花费便宜很多,而且带宽也会高上许多,不用担心因为玩家过多而带宽不足出现卡顿的问题;但是如果你是自定义地图耗费的服务器流量比较大,带宽的话你可以通过游戏配置限制玩家下载地图时的占用大小。这种情况可以根据实际需求来选择购买包月流量还是固定带宽。
	关于swap:个人观点8Gswap足够了,众所周知七日杀是非常吃内存的会把所有游戏数据加载到内存中,所以尽量保证内存足够,当内存不足时才会用到swap交换分区,但是swap交换分区的效率远不如内存,可以用 free -m 命令查看内存利用率,当主机开始消耗swap了说明内存已经不足游戏开始卡顿了,需要对云主机内存进行升配了。
	
	
	配置要求:			
		测试服:
			带宽:1M
			内存:4G
			swap:8G
			cpu:1核	
		10人服:
			带宽:2M
			内存:8G
			swap:8G
			CPU:2核
		10-40人服:
			带宽:4M以上(测试了下一般15个玩家基本上带宽就能达到4M,而且我用的是官方地图)
			内存:16G以上
			swap:8G
			CPU:4核以上
	系统配置:
		修改主机名:
			hostnamectl set-hostname 7day
		停掉所有防火墙和云服务过滤策略	
		设置swap:
			swapon -s # 如果该命令没有返回出结果,则代表该系统尚未配置过swap。
			df -h	# 检查可用的存储空间
			fallocate -l 8G /swapfile	# 请根据自己情况修改swap大小
			chmod 600 /swapfile	# 更改swap文件的权限,否则会有很大的安全隐患
			mkswap /swapfile	#格式化
			swapon /swapfile	#启用swap
			vim /etc/fstab	#设置为永久生效
				/swapfile   swap    swap    sw  0   0
			swappiness参数决定了系统将数据从内存交换到swap空间的频率。该数值越接近于0,系统越倾向于不进行swap,最大限度使用物理内存。数值越接近100,越倾向于使用swap,而过多的使用swap可能导致服务器运行效率缓慢。这里我为了保证服务器运行效率,建议设置为1。
			vim /etc/sysctl.conf
				vm.swappiness = 1
	系统安全配置:这个可以提高系统安全性,可以防止被暴力破解或降低流量攻击
		sshd:修改端口设置只允许免密防暴力破解
			vim /etc/ssh/sshd_config
				Port 2222	#修改端口为2222
				PasswordAuthentication no	#设置为不能账号密码登录,防暴力破解,关于密钥登录可以百度一下
			systemctl  restart sshd	#使配置生效
		防火墙设置:降低流量攻击
			补充中,,,,
	
	安装游戏服务器
		yum -y install glibc libstdc++	#安装运行环境
		yum -y install glibc.i686 libstdc++.i686	#安装运行环境
		yum  install SDL2 多媒体开发库
		wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz	#下载Linux系统专用的SteamCMD 
		tar -xvf steamcmd_linux.tar.gz	#解压
		./steamcmd.sh	#运行steamcmd
		login <用户名> <密码>	登录steam账号并输入一次安全令牌
		force_install_dir ~/7DaysToDieServer		# 设置服务端安装目录
		app_update 294420 validate	# 下载七日杀服务端,294420是七日杀的编号
		force_install_dir /root/7DaysToDieServer	#设置服务端安装目录
		app_update 294420 validate	# 下载七日杀服务端,294420是七日杀的编号
		quit	#退出SteamCmd
		nohup  /root/~/7DaysToDieServer/startserver.sh -configfile=serverconfig.xml &	#启动游戏
	添加计划任务
		crontab -e
			1 */1 * * * sync && echo 3 > /proc/sys/vm/drop_caches	#每一小时清理一下读写缓存
			*/5 * * * * ps -ef |grep -v grep|grep 7DaysToDieServer || bash -c "nohup  /root/~/7DaysToDieServer/startserver.sh -configfile=serverconfig.xml &"	#每5分钟一检测游戏进程是否还在,如果不在自动启动
			1 5 * * *    kill -9 `ps -ef | grep '\./'|grep -v grep |awk '{print $2}'` && sleep 10 &&      bash -c "nohup  /root/~/7DaysToDieServer/startserver.sh -configfile=serverconfig.xml &"	#每天早上5点自动重启

七日杀文件与目录:
	~/7DaysToDieServer	# 七日杀服务端主目录
	~/7DaysToDieServer/Data/Worlds	# 七日杀服务端地图目录
	~/7DaysToDieServer/Data/ditu	# 七日杀服务端存档目录,可以在主配置文件中修改
	~/7DaysToDieServer/7DaysToDieServer_Data	# 七日杀服务器日志输出目录
	~/7DaysToDieServer/Mods	# Mods目录,需要自己创建
	~/7DaysToDieServer/serverconfig.xml	#主配置文件
	~/7DaysToDieServer/Data/ditu/serveradmin.xml	# 服务器配置文件

服务器配置文件:可以设置管理员和封禁玩家
cat ~/7DaysToDieServer/serverconfig.xml

  >
    <!-- > -->
    
    	
  >	

 >
    <!-- > -->
    
    
  >

主配置文件:
cat ~/7DaysToDieServer/serverconfig.xml

<?xml version="1.0"?>
>
	<!-- GENERAL SERVER SETTINGS -->

	<!-- Server representation -->
		
	>												<!-- 服务器简介描述 -->
					
					
	>												<!-- 玩家进服前看到的小窗口内容 -->
					
				

	<!-- Networking -->
					
					
			
					
					
						
					
					
				

	>				<!-- Telnet 启用true  禁用false -->
					
						
					
					

	>				<!-- true   是否在桌面显示后台窗口 -->

	<!-- Folder and file locations -->
				
		
		

	<!-- Other technical settings -->
					
					



	<!-- GAMEPLAY -->
	
	<!-- World -->
				

	<!-- Difficulty -->
					
					
					
					
					
					
					

	<!--  -->
					
					
					
						
						
					
					

	<!-- Performance related -->
						
					
					

	<!-- Zombie settings -->
					
					
					
					
					
					
					
					
					

	<!-- Loot -->
					
					
					
					

	<!-- Multiplayer -->
					
					

	<!-- Land claim options -->
					
					
					
					
						
					


	>				<!-- 动态网格系统是否已启用 -->
					
					
					

	>				<!-- 在服务器上使用twitch需要的权限级别 -->
					
	
>	
~/7DaysToDieServer/Data/Config/目录下配置相关	
	(参考:https://www.360docs.net/doc/2714137399.html)
	1、items文件:创造模式中按u键调出来的items栏所有物品的属性都在这里,最重要的修改物品叠加数量的就在这边。
	2、buffs文件:可直接修改各类buff的生成要求和持续时间
	3、loot文件:可直接修改各类E键搜索的物品栏的生成内容、数量
	4、recipes文件:可直接修改合成表
	5、blocks文件:创造模式中按u键调出来的blocks栏所有物品的属性都在这里。
	6、biomes文件:修改不同生态系统的属性
	7、entityclasses文件:修改敌人属性,你懂得
	8、entitycgroups文件:修改敌人刷新的群体,比如刷尸潮时会出现哪些类型的丧尸,全部军肥、尸王不是梦
	9、materials文件:修改其他材料的基础信息
	10、rwgmixer文件:修改随机地图生成时的不同生态、城镇属性。你想生成全部是废墟、雪地、沙漠的地图,或者一个地图全是城镇不再是梦
	11、spawning文件:修改不同生态、不同时间的僵尸刷新群体和数量
	12、sounds文件:修改各类声音属性
	13、traders文件:商人参数、贩卖机参数			
七日杀指令:
	(参考:https://www.360docs.net/doc/f55522835.html)
					
NAIWAZI

你可能感兴趣的:(服务器,linux,运维,游戏)