如何玩 FreeSpace 2 Open

bla*_*899 4 dependencies games

我去下载页面下载了fs2_open_3.6.16.tar.bz2包,解压。像这样运行它,./fs2_open_3.6.16但我收到以下错误:

./fs2_open_3.6.16: error while loading shared libraries: liblua5.1.so.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

liblua5.1-0包已安装)

我试过

ln -s ./liblua-5.1.so.5.1.x liblua-5.1.so
Run Code Online (Sandbox Code Playgroud)

但它没有用,同样的错误。

问题我如何解决这个错误并玩游戏

注意我使用的是 Ubuntu 12.10


的输出ldd ./fs2_open_3.6.16

linux-vdso.so.1 =>  (0x00007fffa22cc000)
libSDL-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0 (0x00007f0566c3e000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f0566a11000)
libvorbisfile.so.3 => /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f0566808000)
libtheora.so.0 => /usr/lib/x86_64-linux-gnu/libtheora.so.0 (0x00007f05665b7000)
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f05663b0000)
libopenal.so.1 => /usr/lib/x86_64-linux-gnu/libopenal.so.1 (0x00007f0566156000)
libGL.so.1 => /usr/lib/nvidia-current-updates/libGL.so.1 (0x00007f0565e39000)
libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f0565bba000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f0565993000)
liblua5.1.so.0 => /usr/lib/x86_64-linux-gnu/liblua5.1.so.0 (0x00007f0565766000)
libjpeg.so.62 => /usr/lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007f0565541000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f056523d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0564f41000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0564d2b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f056496b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f056474e000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f0564464000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f056425f000)
libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f056405b000)
libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f0563e13000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f0563ad8000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f05638c6000)
libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0 (0x00007f05635f9000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f05633f0000)
libnvidia-tls.so.304.51 => /usr/lib/nvidia-current-updates/tls/libnvidia-tls.so.304.51 (0x00007f05631ed000)
libnvidia-glcore.so.304.51 => /usr/lib/nvidia-current-updates/libnvidia-glcore.so.304.51 (0x00007f0560e03000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0560beb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0566f05000)
libpulsecommon-2.1.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-2.1.so (0x00007f056098e000)
libjson.so.0 => /usr/lib/x86_64-linux-gnu/libjson.so.0 (0x00007f0560784000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f0560540000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f0560322000)
libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2 (0x00007f055ff91000)
libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007f055fd64000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f055fb3c000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f055f931000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f055f6cb000)
libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f055f4c5000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f055f2c0000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f055f0ba000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f055eea0000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f055ec53000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f055e784000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f055e568000)
Run Code Online (Sandbox Code Playgroud)

我下载了fs2open3616_1.0-1_amd64.deb 并将其与软件中心一起安装,并且我还根据ldd ./fs2_open_3.6.16命令sudo apt-get install liblua5.1-0:1386安装了它需要的缺少的 lib 文件(i386),就像这样(安装 i386 lib 后我更新了输出ldd ./fs2_open_3.6.16

这是错误:

错误:“未找到 Web 光标位图。这很可能是由于以下三个原因之一造成的:1) 您正在从 FreeSpace 2 文件夹以外的其他位置运行 FreeSpace Open;

2) 您以某种方式损坏了您的 FreeSpace 2 安装,例如通过修改或删除零售 VP 文件;

3) 您根本没有安装 FreeSpace 2。(请注意,安装 FreeSpace Open 并不会消除安装 FreeSpace 2 的需要。)

只需将 FreeSpace Open 可执行文件移动到 FreeSpace 2 文件夹即可修复数字 1。数字 2 和 3 可以通过安装或重新安装 FreeSpace 2 来修复。” at graphics/2d.cpp:645

小智 5

介绍

FreeSpace 2 OpenUbuntu 系统上设置(FS2Open)时可能会出现许多复杂情况。仍然需要原始零售 Freespace 2 游戏数据,因为 FS2Open 文件部分地提供了一种在基于现代 Linux(和其他)系统上玩游戏的方式。由于官方游戏论坛是更多信息的地方有关运行游戏一般指南,因此我将专注于解决如何编译启动器以及如何在 Ubuntu 上启动游戏。

FS2Open 的编译二进制文件(但不是启动器)托管在官方站点此处,尽管这些链接将在以后的版本中更改。

初始问题

1)我们已经部分解决了评论中的一些问题:

  • 如果共享库有问题,请运行ldd ./name_of_fs2_binary以查看是否找到了所有内容。如果没有,并且您使用的是 64 位系统,则可能需要安装i386该软件包的版本,例如,

    sudo apt-get install liblua5.1-0:i386
    
    Run Code Online (Sandbox Code Playgroud)
  • FS2Open 二进制文件的第一次运行(无论是否遇到错误)将创建~/.fs2_open/fs2_open.ini,其中将存储重要的图形设置,并且可以手动编辑或设置wxlauncher(见下文)。但是,它们必须通过一种或另一种方法正确设置。

主要问题

然而,为了解决游戏无法启动的最终问题,编译和使用可能是最简单的wxlauncher,而不是手动创建启动脚本

如果启动器要在编译和安装后工作,您必须具备:

  • 从您的游戏零售副本中正确安装了原始的 Freespace 2 数据文件,并确保权限正确。有关更多信息,请参阅官方游戏论坛。重要的是要说所有文件都必须是小写的,否则游戏将找不到它们并且您会出错。
  • 将下载的FreeSpace 2 Open二进制文件移动到游戏文件夹的顶层(/home/$USER/games/FreeSpace2例如)。
  • 已安装openal;但是,如果你决定手动配置游戏设置,而不是使用启动,你仍然需要安装openal

    sudo apt-get install libopenal1
    
    Run Code Online (Sandbox Code Playgroud)

编译安装

现在,到启动器的编译和安装。从官方网站下载相应的源代码包并检查sha1签名sha1sum.

像往常一样,需要相当多的依赖项。通常的软件包可以通过以下方式安装:

sudo apt-get install cmake build-essential checkinstall
Run Code Online (Sandbox Code Playgroud)

可以使用以下命令安装所需的特定软件包:

sudo apt-get install python python-dev python-markdown libwxgtk2.8-dev libwxbase2.8-dev libopenal1 libopenal-dev wx2.8-headers wx-common wx2.8-examples wx2.8-i18n libsdl1.2-dev libsdl1.2debian
Run Code Online (Sandbox Code Playgroud)

这些是 12.04 上的包名称,但它们对于 12.10 应该是相同的。下载中包含的自述文件指出wxWidgets应该是 2.8.10+,而不是 2.9.x。

使用终端,cd到您的下载文件夹并运行

tar -xzvf wxLauncher-0.9.1.tar.gz
Run Code Online (Sandbox Code Playgroud)

现在,cd为了wxLauncher-0.9.1和,因为这是一个cmake构建,我们通常现在创建一个构建文件夹并移至该文件夹:

mkdir build && cd build
Run Code Online (Sandbox Code Playgroud)

接下来配置构建

cmake .. -DUSE_OPENAL=1
Run Code Online (Sandbox Code Playgroud)

(对于调试版本添加, -DCMAKE_BUILD_TYPE=Debug

我发现下载中包含的自述文件中指定的另一个编译标志不是必需的,因为当安装程序checkinstall然后运行时,没有发生该特定错误,并且所有启动器的文件都被正确找到。

现在,运行make编译程序,然后从同一个目录(build),运行

sudo checkinstall --pkgname=wxlauncher --provides=wxlauncher
Run Code Online (Sandbox Code Playgroud)

并继续按回车接受其他默认值。

现在输入wxlauncher,您将能够使用游戏数据和下载的 FS2Open 二进制文件指定 FreeSpace 2 主文件夹的路径。您还可以设置选项并启动游戏(如下截图):

在此处输入图片说明

确保您选择了正确的 freespace 2 文件夹;检测到二进制文件时会出现这些选项。如果未检测到,单击刷新并再次单击该框。

在此处输入图片说明