1. 安装iFun引擎

本章介绍了构建安装环境之前安装iFun引擎的方法。

iFun引擎在 Ubuntu 16.04 LTS or 14.04 LTS (64bit)CentOS 6或7 (64bit) 环境下运行。 支持 C++和C#语言。

为进行C++开发,开发人员可在 Linux shell中开发 ,或在 Linux中通过作为GUI IDE的CLion进行开发, 也可以在MS Windows中通过VisualStudio开发

为进行C#开发,可在 Linux中通过作为GUI IDE的Monodevelop进行开发

1.1. Ubuntu 16.04 LTS or 14.04 LTS (64bit)

1.1.1. 准备Ubuntu

首先,需要Ubuntu 14.04 / 16.04 Linux。如果未安装Ubuntu ,可通过亚马逊AWS等云服务简单进行安装,或是在您使用的电脑中,运用 Hyper-V或VMwareVirtualBox等解决方案,通过虚拟机安装Ubuntu。(此时您需要Ubuntu安装镜像,可在 Ubuntu releases page 中下载安装镜像。)

Important

必须安装64bit版本的Ubuntu。iFun Engine在32bit Ubuntu中不会运行。

14.04 LTS 에 대해서는 2019년 3월까지 지원하며, 새롭게 18.04 LTS 에 대한 지원을 준비중입니다.

安装好Ubuntu后,须要设置APT储存库,用于使用iFun引擎。

1.1.2. 自动设置APT储存库

下载 Ubuntu专用iFun引擎自动设置包 后,可双击进行安装,或打开终端窗口,运行以下命令。

$ sudo apt-get install wget apt-transport-https
$ wget https://www.ifunfactory.com/engine/funapi-apt-setup.deb
$ sudo dpkg -i funapi-apt-setup.deb

Important

该方法需要与以下服务器通信。当有阻止流量流向外部的防火墙时,须打开流向以下服务器的流量。
  • www.ifunfactory.com (54.65.9.158; 今后可能发生变更)

  • keyserver.ubuntu.com (PGP key server; optional)

1.1.3. 手动设置APT储存库

如果安装了无法和外部进行通信的防火墙时,之前的自动设置方法有可能无法运行。此时须要手动添加iFun引擎的PGP KEY,并添加apt储存库。

请通过ifunfactory.gpg.key保存以下内容:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

mQENBFHLrjgBCACzI7l8y1nygGN1b0XwgEDdBZGUlaTZhyHs1Y2VLBmYm3dgyRHp
qLfHhVGZm1FXzT1X7GlGgQRV+GsyeXNUHWcY794UwZMCM4h0mGDGXX1eR2objUNZ
tVE9VzoXwKwnu7mKJGXgSm+olZKQ43wPnr7Keyap42yKSJv3GBkMmfKjwnjTooLk
g62wwpJa3AOZBBqLwHKt0BYVRT/7ILXJnW4NqDoQPeT1y3Iqt1KxsaR1Ik+byh3g
UUvDqgFRXPW+HDkB265MbQgXHmPTGih8j7ygZz1dM5pJQ//bMqNHmbDPZSwLt0Wb
yB6UNbO9W5ZENCz4h7+3utYAvwERqdZ/nxKZABEBAAG0L0Z1bmFwaSBTdXBwb3J0
IDxmdW5hcGktc3VwcG9ydEBpZnVuZmFjdG9yeS5jb20+iQE4BBMBAgAiBQJRy644
AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCj9+/dSTj/5jzNB/45CD2R
Bv8CrB+ErIVeFjXuhqYwg2fuAdQcXbVpla5rhrvHjGEbCl35kKqEPFP09YvWReIi
i3kK1yF7zNxyk/9N3GUZpIEgbyEuNVjkizPjrs+DWx0j6oZZQLrsEflUMxfALAmr
v3n6fB6XeCk2Hd83XBoqZSHKfzLPFUynS7e2/Vte4UVKbgFPsypPXazYrqvq4ej2
bnHva6/aUakti+A+l8Cs0kf2WzrwOp47PcceT5N0/mwF5XslwaiqH6q+6iGNLdj0
9hjzRcdZ5My/Do6rGXcFJJY17U72HGFTUCU8RXZRTBY2EfjAV6zQlKlaO/Aw0eWX
7UMXUhc+CLv+aZOxuQENBFHLrjgBCAC/xHRd1tH2zs8nplyI3EYRyWqF82waGIyK
SnV/pJ4CCc2YuECnQV0RvoOtZiuwmB3CuNTSEEyAfwU/K3tMsvczMN04MjQGvSA1
4it7xIkg24Qcx0O46JBwvihR4sZ8O/j6X/nVV4pN4zUg5PQh///yn/R7mVH2sWVW
WE5ZpZ1G/eA/fSiqdmZPOjFW9SWsVgPXvyKCM0b5lCjMlbwZspx8YGblJtDqCtWW
Ip2RnGTCSkSo4kRauDU+iGYojUsgsmUSxjtdGZHa41g5HDRoIcL3e40UYe3el7Sx
Aa+lV529kHAZCWtDfS7MoqtE7gvHSGoJAK+2nCAEfw1mz0Ja+XELABEBAAGJAR8E
GAECAAkFAlHLrjgCGwwACgkQo/fv3Uk4/+Y36Qf/VPov5n+h4pEzKspA6hHezD4J
rw9rVCQ/BvidBerV4VvL+oH5ghBV5QeAvd2TyccuKdZJsikAM9wUM1MS+Y4Akno7
vgIKO/7sGGkbAkgSG4vvfG4W9EQ0GqFycaTl9zpiNUrUri5vGNK2PC6p9uXxXmdQ
3iHe1c5+5jvLKCzOdC+Er2E949PzsMuI2L4viNp72J6ilm62RJ+/Pg1rOaRmTH1H
ax7L3Hwsy0GXeubKaeDizvBeKcv6e08DqI2TCllmd8NkR6OSLuks4yHDU1ztAa0c
+RcnddKag+TCYwto617oMZvCPaic/d6AjW3OL48PFNUPpfBeZEJ8B8tm16HxaQ==
=p+5n
-----END PGP PUBLIC KEY BLOCK-----

请手动添加上述KEY:

$ sudo apt-key add ifunfactory.gpg.key
OK

然后通过 /etc/apt/source.list.d/ifunfactory.list 保存以下内容:

deb [arch=amd64] https://www.ifunfactory.com/apt/ trusty non-free foreign

Note

若使用16.04 Xenial ,请将 trusty 改成 xenial

1.1.4. 安装iFun引擎

APT储存库设置完毕后,从储存库中调取包列表,安装 funapi1-dev

$ sudo apt-get update
$ sudo apt-get install funapi1-dev

运行上述命令,即可安装通过iFun引擎开发游戏的开发包和run-time包,以及所有存在依赖性的包。

1.1.5. 可选)在同一服务器中安装MySQL、Zookeeper

如果想要在同一服务器中同时运行MySQL服务器和用于分布式处理功能的Zookeeper服务器,也可同时安装如下Package。这种情况就属于在一台服务器中安装所有Package的常规开发环境。

$ sudo apt-get install mysql-server
$ sudo service mysql start

$ sudo apt-get install zookeeper zookeeperd
$ sudo service zookeeper start

Important

当通过上述方法安装iFun引擎时,将自动获得有效期为7天的临时许可证。在iFun引擎主页的 申请试用页面 可以申请为期6个月的试用,请务必对此进行确认。

1.2. CentOS 6或7 (64bit)

使用CentOS时,其过程与Ubuntu相同,通过Package管理员将 apt 替换成 yum 使用即可。

1.2.1. 准备CentOS

首先准备CentOS服务器。如果没有CentOS服务器,可与Ubuntu一样,在亚马逊AWS中通过虚拟服务器创建,或是在本人的桌面上利用Hyper-V或VMware VirtualBox通过虚拟机安装。(对于后者,需要安装镜像,可在 CentOS下载页 找到。)

Important

务必要安装64bit CentOS 6或7。不支持低于该版本的CentoOS,也不支持32bit版本。

安装好CentOS后,须要设置YUM储存库,用于使用iFun引擎。

1.2.2. 自动设置YUM储存库

下载 CentOS专用iFun引擎自动设置包 后,可双击进行安装,或打开终端窗口,运行以下命令。

$ sudo yum install epel-release wget
$ wget https://www.ifunfactory.com/engine/funapi-yum-setup.rpm
$ sudo rpm -Uvh funapi-yum-setup.rpm

1.2.3. 安装iFun引擎

储存库设置完毕后,从储存库中调取包列表,安装 funapi1-devel

$ sudo yum update
$ sudo yum install funapi1-devel

运行上述命令,即可安装通过iFun引擎开发游戏的开发包和run-time包,以及所有存在依赖性的包。

1.2.4. (可选)在同一服务器中安装MySQL、Zookeeper

如想要在一台服务器中创建开发环境,就需要在同一服务器中同时安装MySQL服务器和用于分布式处理的Zookeeper服务器。当为CentOS 6时,输入以下内容。

$ sudo yum install mysql-server
$ sudo service mysqld start

$ sudo yum install zookeeper
$ sudo service zookeeper start

当为CentOS 7时,输入以下内容。

$ sudo yum install mariadb-server
$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb

$ sudo yum install zookeeper
$ sudo systemctl enable zookeeper
$ sudo systemctl start zookeeper

Important

当通过上述方法安装iFun引擎时,将自动获得有效期为7天的临时许可证。在iFun引擎主页的 申请试用页面 可以申请为期6个月的试用,请务必对此进行确认。

1.3. 选择发行版类型

iFun Engine 会提供两种发行版,一个是试发行版的 experimental,另一个是稳定发行版的 stable 。 如果已经安装了仓库自动设置包的话,会自动设置 stable。 并且,使用 funapi_select_repo 指令可以变更发行版类型。

1.3.1. 确认目前的发行版类型

为了确认现在选择的引擎发行版类型和实际安装的引擎发行版包的信息 按照如下方式可以确认。

$ funapi_select_repo
Current repository: stable
Current package: funapi1-runtime_1.0.0-1661xenial: stable

根据上面指令的结果,可以确认现在选择的发行版类型是 stable , 安装的引擎也是 stable

Note

根据以下说明,因为安装后可以换发行版的类型, 因此选择的发行版和安装的发行版有可能会不同。

1.3.2. 变更发行版类型

iFun engine 可以分成两种版本。stable 是稳定的发行版, experimental 是添加新功能的试发行版。如下 funapi_select_repo 指令后面 通过把要使用的发行版作为参数来实行指令,可以变更使用的发行版类型:

$ sudo funapi_select_repo experimental
Activating iFunEngine experimental repository
现有:1 http://mirror/ubuntu xenial InRelease
下载:2 http://mirror/ubuntu xenial-updates InRelease [95.7 kB]
下载:3 http://mirror/ubuntu xenial-backports InRelease [92.2 kB]
下载:4 http://mirror/ubuntu xenial-security InRelease [94.5 kB]
下载:5 http://mirror/ubuntu xenial-updates/main Sources [194 kB]
下载:6 http://mirror/ubuntu xenial-updates/universe Sources [99.1 kB]
下载:7 http://mirror/ubuntu xenial-updates/main amd64 Packages [396 kB]
下载:8 http://mirror/ubuntu xenial-updates/main i386 Packages [390 kB]
现有:9 https://www.ifunfactory.com/apt xenial InRelease
下载:10 http://mirror/ubuntu xenial-updates/universe amd64 Packages [335 kB]
下载:11 http://mirror/ubuntu xenial-updates/universe i386 Packages [331 kB]
下载:12 http://mirror/ubuntu xenial-security/main Sources [42.8 kB]
下载:13 http://mirror/ubuntu xenial-security/universe Sources [10.2 kB]
下载:14 http://mirror/ubuntu xenial-security/main amd64 Packages [152 kB]
下载:15 http://mirror/ubuntu xenial-security/main i386 Packages [148 kB]
下载:16 http://mirror/ubuntu xenial-security/universe amd64 Packages [44.4 kB]
下载:17 http://mirror/ubuntu xenial-security/universe i386 Packages [44.4 kB]
下载:18 https://www.ifunfactory.com/apt xenial/non-free-experimental amd64 Packages [9,290 B]
下载 2,478 k바이트, 소요시간 0초 (4,525 kbyte/s)
正在加载安装包目录... 完成

看到上述的内容,能确认像以黄色来强调一样 experimental 会做活性化和 自动更新安装包目录。 然后,在没有参数的情况下实行 funapi_select_repo 后 能看到像以下内容一样变更发行版。

$ funapi_select_repo
Current repository: experimental
Installed funapi1-runtime does not belong to stable repository
Current package: funapi1-runtime_1.0.0-1661xenial: experimental

以后使用 apt-get upgrade 或者 yum update 指令可以安装需要的版本。

Tip

iFun Engine包在版本号包含构造号。 在普通情况下,因为首先发行 experimental 版本,通过测试一定时期的稳定化后 发行 stable, 所以 experimental 发行版的版本号比 stable 更高。

stable 换成 experimental 的大部分情况下, 只使用 apt-get upgrade 或者 yum update 才会更新到 experimental 的最新版本。 但是,反过来说,变更发行版或者 要紧急地在 stable 发行版修改 hot fix 的话,有不可能以上说明的命令来自动安装的情况。 这时候如以下内容可以在 install 后面标注希望版本来决解。 不适用 upgrade

  1. Ubuntu 的 情况: $ sudo apt-get install funapi1-dev=希望版本 funapi1-runtime=希望版本 libfunapi1-mongodblogger=希望版本 python-funapi1-dev=希望版本

  2. Centos 的 情况: $ sudo yum install funapi1-devel-希望版本 funapi1-runtime-希望版本 python-funapi1-devel-希望版本

在选择稳定化发行版的 stable 的话,使用如下指令:

$ sudo funapi_select_repo stable

1.4. 删除

若想删除iFun引擎,与安装时一样,使用 apt-get 进行删除。以下命令可删除与iFun Engine有关的所有iFun Engine。

$ sudo apt-get purge funapi1-*

Attention

稍等!如果您在使用iFun引擎时感到不便而想要删除,敬请通过 电子邮箱 将不便事项告知我们,我们将深表感谢。