Google Cloud Platform – 设置游戏服务器
在本文中,我们将通过谷歌云平台提供的基础设施即服务(IaaS)在公共云中设置服务器来服务于游戏应用程序。但是,对于任何其他公共云平台,该过程几乎相同。
步骤概述:
- 设置帐户并在任何公共云中创建项目(例如,谷歌云平台)
- 在首选区域和区域中创建具有所需配置和磁盘引导映像的虚拟机(例如,至少 50 GB 磁盘大小的 Debian GNU/Linux 9(拉伸)机器)
- 在虚拟机中安装所有运行时要求和依赖项(比如Java应用程序的 JRE)
- 为虚拟实例设置防火墙规则以允许客户端流量。
- 确保服务器一直在运行。
使用的工具:
在本文中,我们将介绍以下工具和技术:
- 谷歌云平台
- 游戏 - Minecraft(服务器的 JAR 文件)
- Linux中的屏幕应用
现在按照以下步骤设置服务器。
第1步:
- 转到谷歌云控制台
- 使用 Google 帐户注册,然后通过单击顶部栏上的选择项目下拉菜单创建项目,然后单击新项目
注意:如果您没有激活免费试用帐户,您需要为在 Google 云中配置和使用任何资源付费
初始设置完成后,您必须看到类似的界面:
注意:我们在这里使用 Qwiklabs 练习帐户。
第2步:
在这一步中,我们必须创建具有所需配置的 VM 实例,并且我们还将添加一个额外的 50GB SSD 永久磁盘。通过单击下面显示的按钮打开 Google Cloud Shell:
- 如果询问,请单击继续或授权,
- 输入以下命令,创建实例
$ gcloud beta compute --project=qwiklabs-gcp-04-f7bbc9a0604c instances create mc-server
--zone=us-central1-a --machine-type=e2-medium --subnet=default --address=35.232.183.36
--network-tier=PREMIUM --maintenance-policy=MIGRATE
--service-account=875541841397-compute@developer.gserviceaccount.com
--scopes=https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/trace.append,https://www.googleapis.com/auth/devstorage.read_write --tags=minecraft-server --image=debian-9-stretch-v20201216 --image-project=debian-cloud --boot-disk-size=10GB --boot-disk-type=pd-standard --boot-disk-device-name=mc-server --create-disk=mode=rw,size=50,type=projects/qwiklabs-gcp-04-f7bbc9a0604c/zones/us-central1-a/diskTypes/pd-ssd,name=minecraft-disk,device-name=minecraft-disk --reservation-affinity=any
可能需要大约一分钟,输出必须如下所示:
- 命令执行后,在导航栏上,进入计算引擎 > 虚拟机实例
注意:虚拟机的“外部 IP 地址”将用于检查服务器的工作情况。
- 单击 SSH 打开终端并连接。 (它将打开新窗口)
由于我们已经添加了一个磁盘,我们必须在 Linux 实例中使用以下命令来挂载磁盘。
- 要创建一个目录作为数据盘的挂载点,请运行以下命令:
$ sudo mkdir -p /home/minecraft
- 要格式化磁盘,请运行以下命令:
$ sudo mkfs.ext4 -F -E lazy_itable_init=0,\
lazy_journal_init=0,discard \
/dev/disk/by-id/google-minecraft-disk
- 要挂载磁盘,请运行以下命令:
$ sudo mount -o discard,defaults /dev/disk/by-id/google-minecraft-disk /home/minecraft
第 3 步:
- 要更新 VM 上的 Debian 存储库,请运行以下命令:
$ sudo apt-get update
- 更新存储库后,要安装无头 JRE,请运行以下命令:
$ sudo apt-get install -y default-jre-headless
- 要导航到安装永久磁盘的目录,请运行以下命令:
$ cd /home/minecraft
wget用于下载 JAR 文件。
- 要安装wget ,请运行以下命令:
sudo apt-get install wget
- 如果提示继续,请键入 Y
- 要下载当前的 Minecraft 服务器 JAR 文件 (1.11.2 JAR),请运行以下命令:
$ sudo wget https://launcher.mojang.com/v1/objects/d0d0fe2b1dc6ab4c65554cb
- 要初始化 Minecraft 服务器,请运行以下命令:
$ sudo java -Xmx1024M -Xms1024M -jar server.jar nogui
我们必须接受最终用户许可协议 (EULA),才能运行服务器。
- 要编辑 EULA,请运行以下命令:
$ sudo nano eula.txt
# Change the last line of the file from eula=false to eula=true
编辑 eula.txt 后,它必须如下所示:
- 要保存并退出 Nano 文本编辑器,请按 CTRL+o、Enter、CTRL+x
。第四步:
- 在控制台进入谷歌云终端,输入以下命令创建防火墙规则,
$ gcloud compute --project=qwiklabs-gcp-04-f7bbc9a0604c
firewall-rules create minecraft-rule --direction=INGRESS
--priority=1000 --network=default --action=ALLOW --rules=tcp:25565
--source-ranges=0.0.0.0/0 --target-tags=minecraft-server
输出必须如下所示:
第 5 步:
为了确保服务器始终运行,我们可以使用“屏幕”应用程序。
- 现在再次进入虚拟机 SSH 会话并使用以下命令安装“屏幕”应用程序:
$ sudo apt-get install -y screen
- 要在屏幕虚拟终端中启动您的 Minecraft 服务器,请运行以下命令:(使用 -S 标志命名您的终端 mcs)
$ sudo screen -S mcs java -Xmx1024M -Xms1024M -jar server.jar nogui
启动服务器需要一些时间。输出必须如下所示:
现在服务器将继续在后台运行,
- 使用此网站检查 Minecraft 服务器是否正常工作。
工作服务器状态必须类似于下图所示:
注意:您必须使用您的虚拟机外部 IP 地址,(转到导航菜单 > 计算引擎 > 虚拟实例,以获取您的虚拟机外部 IP 地址)。