GA是一个开源的实现云游戏的引擎,并且高效、跨平台、易扩展、可调配,官网 → https://gaminganywhere.org/
打算用电脑 WSL 上的 Ubuntu 作服务器,Android 平板当客户端
源码: https://github.com/chunying/gaminganywhere
- 首先要编辑一下 env-setup 文件,修改其中的 GADEPS 变量值,比如我就修改为工程目录:
#!/bin/sh export GADEPS=/home/donny/Desktop/gaminganywhere/deps.posix export PKG_CONFIG_PATH=$GADEPS/lib/pkgconfig:/opt/local/lib/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig/:/usr/lib/pkgconfig export PATH=$GADEPS/bin:$PATH
- 记得
source env-setup
一下 - 进入
deps.src
目录 make 一下,发现报错:ERROR: x265 not found using pkg-config
看一下日志文件 config.log, 发现有提示我们需要将编译 x265 生成的 x265.pc 所在的文件夹配置成环境变量:
export PKG_CONFIG_PATH=/home/donny/Desktop/gaminganywhere/deps.posix/lib/pkgconfig
或者还有人说执行:
sudo apt-get install libx265-dev
- 重新编译仍有报错:
error: ‘x264_bit_depth’ undeclared
看 github 也有人提出了这个 issue,问题原因是新版本的 x264 中把这一变量换成了大写😂
解决方法:
- Replace "x264_bit_depth" with "X264_BIT_DEPTH" in your ffmpeg-2.8.8/libx264.c file.
- Then retar the ffmpeg package with command: tar -cjf ffmpeg-2.8.8.tar.bz2 ffmpeg-2.8.8
- make
- But 还有报错:
fatal error: xlocale.h: No such file or directory
新版本 Ubuntu 不支持
xlocale.h
软链接一下即可:
ln -s /usr/include/locale.h /usr/include/xlocale.h
- 终于 make 成功!
- 去 /ga 目录继续编译:
cd ../ga make all make install
- 编译完记得在新建一个
/etc/ld.so.conf.d/gaminganywhere.conf
文件,将deps.posix
库的路径添加进去,再执行ldconfig
链接。这是比较方便的方法,也可以修改/etc/profile
添加系统路径 - 报错:
fatal error: liveMedia.hh: No such file or directory
其实很简单,前面 GADEPS 变量的修改在 ga 的 Makefile 里也要改,不然找不到依赖啊
- 为了运行游戏,我找了一个开源游戏 Minetest,安装过程如下:
sudo add-apt-repository ppa:minetestdevs/stable sudo apt-get update sudo apt-get install minetest
- 写一个配置文件
server.minetest.linux.conf
# configuration for the openttd game # work with ga-server-periodic [core] include = common/server-common.conf include = common/controller.conf include = common/video-x264.conf include = common/video-x264-param.conf include = common/audio-lame.conf [ga-server-periodic] display = :0 find-window-name = Minetest 5.7.0 [Main Menu] enable-audio = true
- 进入 bin 目录,启动服务器:
./ga-server-periodic ../ga/config/server.minetest.linux.conf