EGFramework使用手册
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

6.1 KiB

Godot Linux服务端安装部署

本文档参考自

为专用服务器导出 — Godot Engine (3.5) 简体中文文档

说明

下面为编写说明,如果想直接看正文请跳转至#1.下载Godot-linux-server

本文档只适用于Godot3.5.3lts 或者其他基于Godot3.5的项目。

最新的4.x没有linuxServer版本,官网给出的解释是无需linuxServer,只需要在后面加入--headless附加项,即可通过服务方式运行。

原文如下:

Since Godot 4.0, this can be done by running a Godot binary on any platform with the --headless command line argument, or running a project exported as dedicated server.

详细可以参考以下文档

为专用服务器导出 — Godot Engine (4.x) 简体中文文档

Godot 支持x86_64架构的导出,装有界面的Linux可以双击对应二进制文件运行,但设备需支持OpenGL ES2&OpenGL ES3。本部署文档教程只适用于无界面的服务器版本,且服务器架构为x86,armv8架构的服务器暂时还在测试中。

1.下载安装Godot-linux-server

下载地址

Download for Linux Server - Godot Engine

目前需要下载三个文件,一个是Headless(用于打包项目工程pck),一个是Standard(用于运行打包后的pck),如果需要.net支持一定要下.net版本,跟ExportTemplate(打包模板,没有配置这个打出来的包不能运行)同样也分普通版本跟支持.net的版本

Linux下载命令可以参考如下,本命令下载自3.5.3lts Mono(具备.net支持),如果下载其他版本请更换地址

cd ~
# 下载Standard
wget https://github.com/godotengine/godot/releases/download/3.5.3-stable/Godot_v3.5.3-stable_mono_linux_server_64.zip
# 下载Headless
wget https://github.com/godotengine/godot/releases/download/3.5.3-stable/Godot_v3.5.3-stable_mono_linux_headless_64.zip
# 下载打包模板
wget https://github.com/godotengine/godot/releases/download/3.5.3-stable/Godot_v3.5.3-stable_mono_export_templates.tpz

以上下载可能因为网络问题下载速度慢或者下载不了,还请自备梯子。或者其他地方下载完直接拷贝到~目录下也可。

1.1 安装Headless

下载结束后,解压Headless对应的文件到 .godot 文件夹下。

cd ~
# 添加操作权限
sudo chmod 777 Godot_v3.5.3-stable_mono_linux_headless_64.zip
# 解压安装包
unzip Godot_v3.5.3-stable_mono_linux_headless_64.zip

修改程序名称,并添加相关环境变量(改名跟环境变量为可选项,否则每次运行必须到该目录下运行对应二进制文件,这里为了方便操作添加)。

# 更改文件夹名称与运行包名称
mv Godot_v3.5.3-stable_mono_linux_headless_64 .godot
cd .godot/
mv Godot_v3.5.3-stable_mono_linux_headless.64 godot

# 测试是否成功可以执行下面是否能输出版本号
./godot --version

# 输出当前目录
echo $(pwd)
# 添加环境变量,此处GODOT_ROOT为godot解压后的目录,可能有所不同
# 如有不同,将上述输出的目录填入即可
export GODOT_ROOT=/home/ubuntu/.godot
export PATH=$PATH:$GODOT_ROOT

#测试环境变量是否生效
godot --version
godot --help

可以使用vim将上述 export 添加到 .bashrc(方便服务器重启仍然生效),此处暂不赘述。

安装结束卸载zip压缩包

rm Godot_v3.5.3-stable_mono_linux_headless_64.zip

1.2安装打包模板

进入到godot模板路径~/.local/share/godot/templates下,如果没有该目录,可以先运行一下godot

godot

执行完按Ctrl+C退出

cd ~/.local/share/godot/templates
# 移动打包模板到该目录下,并把后缀名改为zip
mv ~/Godot_v3.5.3-stable_mono_export_templates.tpz Godot_v3.5.3-stable_mono_export_templates.zip
# 解压该打包模板
unzip Godot_v3.5.3-stable_mono_export_templates.zip
# 解压后的文件名改名为 Godot_v3.5.3-stable_mono
mv templates Godot_v3.5.3-stable_mono
# 删除压缩文件
rm Godot_v3.5.3-stable_mono_export_templates.zip

如果执行到此没有任何错误,恭喜您,已经完成了godot打包环境的安装!

2.打包工程目录

2.1工程准备

如果你有 现成的Godot工程,这里可以跳过直接查看 #2.2打包PCK

新建一个工程起名为TestServer

右键目录,NewScene,创建一个MainScene

点击OtherNode,选择Node命好名,Ctrl+S保存

创建个脚本HelloWorld.cs,将下面代码粘贴进去

using Godot;
using static Godot.GD;
using System;

public class HelloWorld : Node
{
    public override void _Ready()
    {
        Print("Hello World!");
    }
}

右键场景设为主场景

拖拽脚本至Node上面,按下Ctrl+S保存,可以点一下Build然后运行看看是否输出Hello World!

2.2打包PCK

拷贝整个工程至服务器端,如果有使用git,可以上传该项目到git服务端或者github上,用git完成拉取

创建工程存放目录,上传到该目录并解压

创建工程存放目录
cd ~
mkdir Project
cd ~/Project
# 创建构建目录
mkdir Build
mkdir Build/TestServer
# 创建工程存放目录
mkdir Godot
cd Godot
# 压缩文件上传此处略过

# 解压工程文件
unzip -d TestServer TestServer.zip
# 删除压缩包
rm TestServer.zip
# 进入工程目录
cd TestServer

上述工程目录进入后,我们需要一个打包预设,否则会提示

ERROR: This project doesn't have an export_presets.cfg file at its root.

可以通过 Project > Export 来定义一个预设,打开窗口后点击Add,选择Linux/X11,可在工程下生成一个名为export_presents.cfg的文件

将该文件拷贝至工程目录下即可

接下来可以使用下面的godot命令进行打包pck了,我们指定输出目录为 ~/Project/Build/TestServer

godot --export-pack "Linux/X11" ~/Project/Build/TestServer/TestServer.pck