2019年9月

比较官方的解释

伪类

伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id、class、属性等静态的标志。由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类。

伪元素

伪元素是对元素中的特定内容进行操作,它所操作的层次比伪类更深了一层,也因此它的动态性比伪类要低得多。实际上,设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素。

一级标题

二级标题

三级标题

四级标题

写在前面

1. 游戏/服务器简介

2019-10-14T08:16:02.png

2. 为什么要这么做?

众所周知,游戏服务器一般来说非常吃性能,对内存和CPU要求颇高。如(方舟:生存进化):

2019-09-30T02:16:40.png

以上是游戏官网原话。但其实我亲测过一下

  • 腾讯云(1核2G)能带两个用户,但是很卡会人物回退(不装mod)。
  • 华为云(2核4G)能装mod,并且不卡,就是启动会很慢。

以上都是在最久的windows系统服务器下测试的,应该和Windows xp同等级的服务器系统,再高就很难启动了,时不时报内存不够。所以,在我的理智思考下,我决定用家用电脑做服务器。

但是在实际搭建过程中,我遇到了一个问题,那就是移动宽带公网IP无解啊!一般没有公网ip的时候,我们第一时间想到的肯定是就是内网穿透了,而且一般游戏服务器使用的是UDP协议,也就是说我们需要搭建一个支持udp协议的内网穿透平台,我第一时间想到了frp

3. 所需设备

  • 具有公网IP的服务器一台(不要问我为什么有公网服务器还用内网穿透的问题,那只能说明你没看懂上面内容)
  • 家用能联网的服务器一台(两台服务器的地理位置尽可能近)

实验环境,我使用的是阿里云的云翼计划(1核2G,5M带宽)

4. 大致思路

就是在本地搭一台服务器,然后做个内网穿透,这样搜索公网IP的那个服务器就可以连接到你本地服务器了。
转发udp: 7777,7778,27015。tcp:27016

注意事项:内网穿透版的在搜索中搜不到,但是可以直接在steam->视图->添加服务器
2020-03-06T03:36:14.png

supervisor是一个守护进程工具

安装

yum install -y supervisor

配置

安装后会生成如下内容

2019-09-03T02:33:19.png

我们查看一下/etc/supervisord.conf,发现文件最后一行

2019-09-03T02:39:38.png

这就是在提示我们把配置文件写supervisord.d目录下的ini文件里。

创建配置文件

  1. 首先切换到supervisord.d目录
  2. touch frps.ini
  3. nano frps.ini
  4. 复制以下内容(示例为运行frps服务端)
[program:frps]
user=root
command=/root/frp/frps/frps -c /root/frp/frps/frps.ini
startsecs=1
startretries=100
autorstart=true
autorestart=true
stderr_logfile=/tmp/err-frps.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
stdout_logfile=/tmp/out-frps.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10

tips

supervisorctl status //查看状态
supervisorctl reload //重载配置文件

运行

supervisorctl reload
supervisord -c /etc/supervisord.conf

然后再配置好开机自启就OK了