📜  Google Cloud Platform – 设置游戏服务器

📅  最后修改于: 2022-05-13 01:57:05.439000             🧑  作者: Mango

Google Cloud Platform – 设置游戏服务器

在本文中,我们将通过谷歌云平台提供的基础设施即服务(IaaS)在公共云中设置服务器来服务于游戏应用程序。但是,对于任何其他公共云平台,该过程几乎相同。

步骤概述:

  1. 设置帐户并在任何公共云中创建项目(例如,谷歌云平台)
  2. 在首选区域和区域中创建具有所需配置和磁盘引导映像的虚拟机(例如,至少 50 GB 磁盘大小的 Debian GNU/Linux 9(拉伸)机器)
  3. 在虚拟机中安装所有运行时要求和依赖项(比如Java应用程序的 JRE)
  4. 为虚拟实例设置防火墙规则以允许客户端流量。
  5. 确保服务器一直在运行。

使用的工具:

在本文中,我们将介绍以下工具和技术:

  • 谷歌云平台
  • 游戏 - 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 地址)。