0%

服务器申请SSL证书

什么是SSL证书?

chatGPT给出这样的答案:

对于普通人理解SSL证书可以这样:很简单,如果你的服务器拥有SSL证书,这样你部署的网站可以通过https(更安全)访问,否则只能通过http访问

事实上我们选择申请SSL证书目的是需要搭建VPS,搭建自己的面板时候需要SSL证书,那这里呢 博主就介绍一种免费申请SSL证书的方式:acme.sh脚本搭建

什么是acme.sh?

chatGPT给出这样的答案:

实际操作

基本环境:

    1、Linux操作系统(ubuntu/debain,centOS)
    2、域名

实践:

    1、域名DNS记录/绑定指定vps(云服务器)ip

我这里使用cloudFlare绑定指定ip,(如果有需要的话)可以选择多绑定几个

值得注意的是:域名(domain)由两部分组成,顶级域名和二级域名

例如 www. example.com,这里example. com是顶级域名,也就是你自己所购买的域名,www是二级域名,再比如我的demo . example . com,我这里的名称即是demo即是二级域名,下面要填写域名操作要把一级域名和二级域名全部加上(demo . example . com)

    2、Linux环境更新
1
2
3
apt update -y          #Debian/Ubuntu 命令
apt install -y curl #Debian/Ubuntu 命令
apt install -y socat #Debian/Ubuntu 命令
1
2
3
yum update -y          #CentOS 命令
yum install -y curl #CentOS 命令
yum install -y socat #CentOS 命令
    2、安装 Acme 脚本
1
curl https://get.acme.sh | sh
    3、注册Acme
1
~/.acme.sh/acme.sh --register-account -m xxxx@xxxx.com #后面是你的个人邮箱
    4、更换服务器
1
~/.acme.sh/acme.sh --issue -d demo.example.com --dns dns_cf --server letsencrypt
    5、申请SSL
1
~/.acme.sh/acme.sh --issue -d demo.example.com --standalone -k ec-256

出现以下信息则说明已经申请成功!

前两行分别是证书公钥和密钥地址,要用到SSL证书直接复制其地址即可

最后祝你好运!!!

参考资料

波仔分享

一瓶奶油

国内注册GPT基本步骤扫盲

简要步骤及条件

  1. 国外IP(博主选择的USA)
  2. 邮箱(不受限制)
  3. 国外电话号码(靠接码平台)

如果你1和3步没有的话预计要花费20RMB!!!

代理IP

这里不赘述如何获取国外IP,你可以理解为翻墙,挂梯子,代理上网,科学上网,最好是原生国外ip这里博主使用的USA的ip,注册账号没有压力,我不会推荐你去购买代理ip也不会提供任何有关代理ip的信息,这一切都得由你自己钻研,加油!!!提供一个网站,如果你开启了代理ip的话这里可以显示你的代理位置 whoer.

此外,不单单注册需要代理ip,正常使用也需要,故不是真正觉得需要,或者已经具备条件,没必要尝试(劝退)

网站首页

邮箱

邮箱的话没有什么特别的要求国内的QQ和163都可以用,博主用的outlook邮箱,但个人认为这个邮箱不太好(很多时候收不到邮件,或者很慢),有gmail或者其他正常邮箱都可以使用:

国外电话验证

此步骤需要验证国外电话号码,值得注意的是包括中国本土号码还有好几个国家也是没有chatGPT服务的,但是不用担心,一般找个靠谱的国外接码平台(这类平台提供各种注册账号需要的各国电话号码,利用好他们可以突破各种限制注册很多不在本土服务的账号)即可,这里不推荐任何接码平台,需要的可自行搜索寻找,你可以利用你的国外ip代理访问Google搜索,找个价格能接受,靠谱的网站,一般是通过充值一定金额,博主用过两个。一个支付宝充值了5美刀也就是人民币35元左右,但只用了1美刀的样子,剩下的金额就在账户里下次备用。另一个一次充值只需要一美刀,基本上也用完了

步骤

进入网站注册

ChatGPT

注册

选择 Sign up

输入邮箱简单填好身份信息

此过程很简单按流程来即可

手机验证

这里需要用到接码平台,前面我已经讲清楚了,原理也很简单,看你自己能否找到并利用

手机

成功!!!

成功

祝你好运!!!

接口使得程序更具有灵活性和拓展性的主要原因是它实现了多态性。多态性指的是不同的类型可以实现相同的接口,并可以通过接口类型访问这些实现。

通过实现接口,不同的类型可以共享相同的行为,使得程序变得更加灵活和可拓展。例如,您可以定义一个绘制图形的接口,并且所有图形类型(如矩形、圆形、三角形等)都可以实现该接口。这使得您可以在不知道具体图形类型的情况下使用这些图形。

另外,接口还允许您在不修改已有代码的情况下添加新的功能。例如,您可以添加一个新的类型,它实现了接口中的方法,从而扩展了程序的功能。这种方式的好处是,您不需要修改现有代码,并且原有代码仍然可以正常使用。

因此,接口可以使得程序更具灵活性和拓展性,使代码更加简洁和易于维护。

阅读一下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package main

import (
"fmt"
"math"
)
//接口,包含一个计算面积方法,返回值float64类型
type Shape interface {
Area() float64
}
//长方形
type Rectangle struct {
width float64
height float64
}
//计算长方行的面积方法
func (r Rectangle) Area() float64 {
return r.height * r.width
}
//圆
type Circle struct {
radius float64
}
//计算圆面积方法
func (c Circle) Area() float64 {
return math.Pi * c.radius * c.radius
}
//此方法打印面积
func PrintArea(s Shape){
fmt.Println(s.Area())
}
func main() {
r := Rectangle{width: 10, height: 20}

c := Circle{radius: 2}
//不同图形用相同方法
PrintArea(r)

PrintArea(c)
}

这段代码中定义了两个类:长方形和圆,并且分别计算这两种图形型的面积

欢迎来学习搭建cs起源,搭建cs服务器主要分为三部分:

1、服务器选择

2、steamcmd安装

3、登录并安装CS起源服务器

注意:在这里,我默认了你有Linux基础,能够看懂并处理一些问题

Quick Start

一、选择一款合适的轻量级服务器。

我选择的是国内轻量级云服务器,各大商家其实卖的都不贵,大家可以去多对比,选择折扣力度最大的,也可以先找个免费的试试水。一定要选择国内的服务器,毕竟作为游戏服务器延迟太高懂得都懂,除非你在国外,那选择你自己所在区域就好了。

操作系统选择:Centos或Ubuntu或Debian

这些都可以,区别有一点点但是不大这里我选择的是CentOS7.6然后Ubuntu和Debian因为同根所以方法也是相同的

当然也可以用docker安装,而且更加方便有兴趣的小伙伴,我会将官网地址贴在最后面

登录方式:我选择的xshell这款工具,其他工具一样

开放端口:一定要在服务器厂商那->控制台->防火墙->添加规则,开放端口,默认27015(TCP和UDP都开放)

二、steamcmd安装

首先连接到Linux系统后首先创建个steam用户

1
useradd -m steam

进入用户目录

1
cd /home/steam

以上步骤各个Linux操作系统相同

接下来我会分操作系统打印命令

CentOS安装:

安装环境:

若你的操作系统不是64位,那只需要执行上面这条

1
yum install glibc libstdc++
1
yum install glibc.i686 libstdc++.i686
CentOS安装screen管理工具
1
yum install -y screen

Ubuntu/Debain安装:

环境安装

注意:root用户不用加sudo

1
sudo apt-get install lib32gcc1
Ubuntu/Debain安装screen管理工具
1
sudo apt-get install screen

注意:以下操作相同

切换用户:默认以root用户登录切换到steam用户

1
su - steam

为 SteamCMD 创建目录并切换至该目录。

1
mkdir ~/Steam && cd ~/Steam

下载并解压缩适用于 Linux 的 SteamCMD。

1
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

ls查看一下是不是有个steamcmd.sh文件,并运行

1
ls
1
./steamcmd.sh

吐槽一句:第一次加载可能有点慢,看运气,如果下载实在很慢的话可以ctrl+c退出,然后将整个Steam文件夹干掉(删除)然后会到前面创建Steam文件那重来就好

三、登录steamcmd并安装CS起源

如果出现Steam>这个就证明你成功安装了,接下来在这个界面我们要登录,并安装cs起源

注意:在Steam>里面不小心输入错了也删不了的话,没关系,回车一下再重新输入就好

选择路径:

1
force_install_dir ./cs_source/

登录SteamCMD:

注意:要先选择路径后登录

这里采用匿名方式登录,省事

1
login anonymous

下载cs起源服务器:

1
app_update 232330 validate

然后你只需要等待,或者泡杯茶,或者先去打开steam准备测试

这个下载速度客观,而且不会像cs1.6那样报错

等他出现Success! App '232330' fully installed.就输入quit

配置文件:

现在就已经完成cs起源安装了

接下来需要稍稍配置一下就好了,将一下内容复制粘贴到一个文本文件内容,然后重命名为server.cfg上传到目录/home/steam/Steam/cs_source/cstrike/cfg中,当然这是我的目录,如果你前面有更改的话会不同,但核心就是将文件放入cstrike下面的cfg文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
hostname "全CS区最靓的服务器"                   //服务器的名称
Rcon_password "" // 远程控制密码, 没设即不需要密码
sv_password "" // 进入服务器所需的密码设定, 没设即不需要密码
sv_region "4" // 设定服务器的所在区域, 4 为亚洲
sv_allowdownload "1" // 允许下载档案 (如: 新地图)
sv_allowupload "1" // 允许上传档案
sv_alltalk "0" // 公麦 (0/1 - 关/开)
sv_cheats "0" //作弊功能
tv_enable "1" // 开启 Source TV (0/1 - 关/开)
sv_downloadurl "http://css.xxx.com/" //设置地图下载,域名需要绑定在 cstrike 目录上,否则将无法下载地图,可以把地图压缩城.b2z格式提高下载速度
sv_gravity "800" // 地心引力设定值, 预设 800 重力
sv_voiceenable "1" // 是否允许玩家使用 mic (0/1 - 关/开)
sv_rcon_maxfailures "2" //试图取得治理员权限失败凌驾几次,CDKEY即被BAN
sv_maxrate "0" //限制网络传输的资料最大值
sv_minrate "0" //限制网络传输的资料最小值
sv_maxupdaterate "66" //服务器发送至客户端的最大每秒更新次数
sv_minupdaterate "66" //服务器发送至客户端的最小每秒更新次数
mp_playerid "0" // 是否显示敌人及队友名字, 1:不显示敌人 2:皆不显示
mp_flashlight "1" // 是否允许手电筒 (0/1 - 关/开)
mp_timelimit "0" //多少时间后换地图
mp_maxrounds "0" //多少回合后换地图4
mp_allowspectators "1" // 是否允许观察者 (0/1 - 关/开)
mp_footsteps "1" // 是否允许脚步声 (0/1 - 关/开)
mp_falldamage "1" // 高处落下杀伤
mp_autokick "0" // 是否将闲置及TKer自动踢出服务器 (0/1 - 关/开)
mp_startmoney "16000" //开局金钱设置
mp_winlimit "0" //任意一队杀多少回合后换地图
mp_fraglimit "0"  // 某玩家获得多少 frag 后换地图 (0 无限制)
mp_freezetime "0" // 回合开始前的冻结时间 (单位: 秒, 0 为无冻结时间)
mp_buytime "0.25" //设置购买武器的时间(单位秒)
mp_forcecamera "0" // 玩家死后是否只能看到同队画面 (0/1 - 关/开)
mp_fadetoblack "0" // 玩家死后画面是否为黑幕 (0/1 - 关/开)
mp_friendlyfire "0" //设定会不会杀伤队友。1是会,0是关闭
mp_autoteambalance "1"      // 是否启动自动队伍平衡功能 (0/1 - 关/开)
mp_limitteams "1"         // 队伍人数最大可相差几人
mp_roundtime "3" // 回合时间 (单位: 分钟)
log "0" //设定是否启用日志 0 不启用 1启用
mp_logdetail "0" // 是否启用详细 log 功能 (0/1 - 关/开
mp_tkpunish "0" // 是否开启 TK 惩罚 (0/1 - 关/开)
mp_c4timer "35" //C4炸弹引爆时间
sv_airaccelerate "5" //空中停留时间 (默认 10)
sv_enablebunnyhopping "0" //是否开启连跳相关

启动服务器

进入目录

1
/home/steam/Steam/cs_source

创建一个启动脚本(如果报错显示没有vim可以用vi代替)

1
vim strat.sh

输入i进入插入模式并粘贴脚本

1
2
3
4
5
6
#!/bin/sh
echo "Starting CS:Source Server"
sleep 1
screen -A -dm -S css-server ./srcds_run -console -game cstrike -tickrate 66 -pingboost 3 +sv_lan 0 -port 27015 +map de_inferno +maxplayers 10
screen -x css-server

可以更改脚本内容,我这里是最大十个玩家,然后地图是小镇,你可以修改成自己想要比如de_dust_2

启动后键盘Ctrl+a+d,这样我们就可以安心退出,程序会执行下去

可以通过screen -ls 命令查看会话窗口

也可以用ps -u查看进程,关闭的话用kill PID

连接服务器:

进入cs起源后~键打开控制台

输入

1
connect 你的ip

改端口了的话要加端口号

1
connect 你的ip:端口号

四、参考文档:

官方文档

1
https://developer.valvesoftware.com/wiki/SteamCMD:zh-cn