staging.inyokaproject.org

Knossos

Achtung!

Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.

Hinweis:

Diese Howto-Anleitung wurde zuletzt von praseodym am 23.05.2021 unter Ubuntu 20.04 erfolgreich getestet.

Inhaltsverzeichnis
  1. Anleitung
  2. Links

./avatar.png Knossos 🇬🇧 ist ein kombinierter Starter und Installer für Freespace 2 und die unter Total Conversions genannten Babylon Project, Diaspora, aber auch für Wing Commander. Die einzelnen Kampagnen ("mod" genannt) benötigen verschiedene Ausgabestadien der fs2_open Engine oder der Spieleverbesserungen ("mediavps") oder anderer Abhängigkeiten. Updates müssen ansonsten prinzipiell von Hand geprüft und nachinstalliert werden, das geht einfach per Mausklick.

Für Bug-Reports, Upload derselben oder File-Integritätsprüfungen stehen komfortable Menüführungen zur Verfügung, die selbsterklärend sind. Spieleengines müssen nicht mehr mühsam selbst kompiliert werden, sondern sind Teil des jeweils aktuellen "mod"-Paketes.

Knossos.png Knossos-alle_Mods.png
GUI Mods

Anleitung

Installation aus DEB-Paket

Seit kurzem gibt es auch ein DEB:

wget https://pxo.nottheeye.com/files/test/knossos/knossos_0.15.0-dev+73b131a_all.deb
sudo dpkg -i knossos*.deb 

Es wird ein Starter angelegt. Sollte eine bereits vorhandene Version (s.u.) installiert sein, werden die installierten Mods automatisch erkannt (getestet unter 20.04).

Ubuntu 18.04

libpng12-0 ist unter 18.04 nicht vorhanden und muss von Hand nachinstalliert werden:

32bit:

wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/15108507/+files/libpng12-0_1.2.54-1ubuntu1.1_i386.deb 

64bit:

wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/15108504/+files/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb 

Installation:

sudo dpkg -i libpng12-*.deb 

PPA

Hier kann man Knossos 0.13.3 über ein PPA installieren:

Adresszeile zum Hinzufügen des PPAs:

  • ppa:ngld/knossos

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams ngld zu entnehmen.

  • knossos

Befehl zum Installieren der Pakete:

sudo apt-get install knossos 

Oder mit apturl installieren, Link: apt://knossos

Aus dem Quellcode

  • nodejs

  • npm

  • python3-wheel

  • python3-setuptools

  • pyqt5-dev

  • pyqt5-dev-tools

  • qttools5-dev-tools

  • qt5-default

  • curl

  • python3-pyqt5.qtwebengine

  • python3-pyqt5.qtwebchannel

  • python3-requests-toolbelt

  • python3-ply

Befehl zum Installieren der Pakete:

sudo apt-get install nodejs npm python3-wheel python3-setuptools pyqt5-dev pyqt5-dev-tools qttools5-dev-tools qt5-default curl python3-pyqt5.qtwebengine python3-pyqt5.qtwebchannel python3-requests-toolbelt python3-ply  

Oder mit apturl installieren, Link: apt://nodejs,npm,python3-wheel,python3-setuptools,pyqt5-dev,pyqt5-dev-tools,qttools5-dev-tools,qt5-default,curl,python3-pyqt5.qtwebengine,python3-pyqt5.qtwebchannel,python3-requests-toolbelt,python3-ply

Dann die folgenden Befehle ausführen:

wget http://ppa.launchpad.net/ngld/knossos/ubuntu/pool/main/p/python3-semantic-version/python3-semantic-version_2.3.1-1_all.deb
wget http://ppa.launchpad.net/ngld/knossos/ubuntu/pool/main/k/knossos/knossos_0.13.3-1~cosmic1_all.deb
wget http://ppa.launchpad.net/ngld/knossos/ubuntu/pool/main/p/python3-token-bucket/python3-token-bucket_0.2.0-1_all.deb
wget http://de.archive.ubuntu.com/ubuntu/pool/universe/p/python-raven/python3-raven_6.3.0-2_all.deb
curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | sudo python3
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn
pipenv install
yarn install
sudo dpkg -i *.deb
echo 'exec python3 /usr/share/knossos/knossos/__main__.py "$@"' | sudo tee /usr/bin/knossos #das ist ein Bug gewesen
 

20.04

Aus dem Quellcode

libpng12-0 ist unter 20.04 nicht vorhanden und muss über ein PPA nachinstalliert werden:

  • python3

  • build-essential

  • libasyncns0:i386

  • libavahi-client-dev:i386

  • libc6:i386

  • libcaca0:i386

  • libdbus-1-3:i386

  • libflac8:i386

  • libgcc1:i386

  • libglu1-mesa:i386

  • libjansson4:i386

  • libjpeg-turbo8:i386

  • liblua5.1-0:i386

  • libncursesw5:i386

  • libogg0:i386

  • libopenal1:i386

  • libpulse0:i386

  • libpulse-dev:i386

  • libsdl1.2debian:i386

  • libsdl1.2-dev:i386

  • libslang2:i386

  • libsndfile1:i386

  • libstdc++6:i386

  • libtheora0:i386

  • libtinfo5:i386

  • libvorbis0a:i386

  • libvorbisenc2:i386

  • libvorbisfile3:i386

  • libwrap0:i386

  • libx11-6:i386

  • libxau6:i386

  • libxcb1:i386

  • libxdmcp6:i386

  • libxext6:i386

  • zlib1g:i386

  • python3-wheel

  • python3-setuptools

  • pyqt5-dev

  • pyqt5-dev-tools

  • qttools5-dev-tools

  • qt5-default

  • curl

  • python3-pyqt5.qtwebengine

  • python3-pyqt5.qtwebchannel

  • python3-requests-toolbelt

  • python3-ply

  • git

  • p7zip-full

  • libopenal-dev

  • ninja-build

  • pipenv

  • yarnpkg

  • python3-semantic-version

  • libsdl2-dev

  • libgtk-3-dev

  • liblzma-dev

  • libzstd-dev

  • zlib1g-dev

Befehl zum Installieren der Pakete:

sudo apt-get install python3 build-essential libasyncns0:i386 libavahi-client-dev:i386 libc6:i386 libcaca0:i386 libdbus-1-3:i386 libflac8:i386 libgcc1:i386 libglu1-mesa:i386 libjansson4:i386 libjpeg-turbo8:i386 liblua5.1-0:i386 libncursesw5:i386 libogg0:i386 libopenal1:i386 libpulse0:i386 libpulse-dev:i386 libsdl1.2debian:i386 libsdl1.2-dev:i386 libslang2:i386 libsndfile1:i386 libstdc++6:i386 libtheora0:i386 libtinfo5:i386 libvorbis0a:i386 libvorbisenc2:i386 libvorbisfile3:i386 libwrap0:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 zlib1g:i386 python3-wheel python3-setuptools pyqt5-dev pyqt5-dev-tools qttools5-dev-tools qt5-default curl python3-pyqt5.qtwebengine python3-pyqt5.qtwebchannel python3-requests-toolbelt python3-ply git p7zip-full libopenal-dev ninja-build pipenv yarnpkg python3-semantic-version libsdl2-dev libgtk-3-dev liblzma-dev libzstd-dev zlib1g-dev 

Oder mit apturl installieren, Link: apt://python3,build-essential,libasyncns0:i386,libavahi-client-dev:i386,libc6:i386,libcaca0:i386,libdbus-1-3:i386,libflac8:i386,libgcc1:i386,libglu1-mesa:i386,libjansson4:i386,libjpeg-turbo8:i386,liblua5.1-0:i386,libncursesw5:i386,libogg0:i386,libopenal1:i386,libpulse0:i386,libpulse-dev:i386,libsdl1.2debian:i386,libsdl1.2-dev:i386,libslang2:i386,libsndfile1:i386,libstdc++6:i386,libtheora0:i386,libtinfo5:i386,libvorbis0a:i386,libvorbisenc2:i386,libvorbisfile3:i386,libwrap0:i386,libx11-6:i386,libxau6:i386,libxcb1:i386,libxdmcp6:i386,libxext6:i386,zlib1g:i386,python3-wheel,python3-setuptools,pyqt5-dev,pyqt5-dev-tools,qttools5-dev-tools,qt5-default,curl,python3-pyqt5.qtwebengine,python3-pyqt5.qtwebchannel,python3-requests-toolbelt,python3-ply,git,p7zip-full,libopenal-dev,ninja-build,pipenv,yarnpkg,python3-semantic-version,libsdl2-dev,libgtk-3-dev,liblzma-dev,libzstd-dev,zlib1g-dev

Adresszeile zum Hinzufügen des PPAs:

  • ppa:linuxuprising/libpng12

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams linuxuprising zu entnehmen.

sudo apt-get install libpng12-0 

Dann die folgenden Befehle ausführen:

git clone https://github.com/ngld/old-knossos.git
cd old-knossos
pip3 install raven
pip3 install token-bucket
yarnpkg install
python3 configure.py
ninja run 

Entweder einen Starter anlegen oder im Ordner über

ninja run 

starten.

Hinweis:

Ordner bestehender Installationen nach der "alten" Weise funktionieren mit Knossos nicht, da die Syntax unterschiedlich ist. Es sollte zur Installation von FS2 und den anderen Mods ein extra Ordner angelegt werden.

Knossos Version 1.0.0

Hinweis:

Knossos 1.0.0 ist noch in der Entwicklung und noch nicht einsatzfähig. Ausnahme: Eine lokale "Nebula" DB anlegen.

Die Vorbereitungen sind identisch wie oben für 20.04 aus dem Quelltext. Danach:

git clone https://github.com/ngld/knossos.git
cd knossos
./task.sh configure build=Release static_deps=false
./task.sh client-run 

Entweder einen Starter anlegen oder im Ordner über

./task.sh client-run 

starten.

Hinweis:

Um Freespace 2 und die meisten Mods spielen zu können, muss FS2 z.B. von GOG gekauft (s.u.) und über Knossos installiert werden.

Weitere Informationen zum Build-System von Knossos 1.0.0 liefert

./task.sh  
Available tasks:
 * build-tool:               Build our build tool
 * check-deps:               Checks the dependencies listed in DEPS.yml for updates
 * clean:                    Delete all generated files
 * client-build:             Builds the Knossos client
 * client-clean:             Delete all generated files from the client package
 * client-run:               Launches Knossos
 * client-ui-build:          Builds the assets for Nebula's client UI
 * client-watch:             Launch Knossos, recompile and restart after source changes
 * client-ws-run:            Launch Knossos WS server
 * database-clean:           Tears down the managed Nebula database
 * database-migrate:         Initializes and migrates the Nebula database (using Docker)
 * database-seed:            Fills the database with the currently available mods from Nebula
 * fetch-deps:               Automatically downloads dependencies not covered by install-tools
 * front-build:              Builds the assets for Nebula's frontend
 * front-watch:              Launches webpack-dev-server for Nebula's frontend
 * install-tools:            Installs necessary go tools in the workspace (task, pggen, protoc plugins, ...)
 * js-lint:                  Check JS code for common issues
 * libarchive-build:         Builds libarchive with CMake
 * libknossos-build:         Builds libknossos (client-side, non-UI logic)
 * libknossos-clean:         Delete all generated files from the libknossos package
 * libknossos-lint:          Lints libknossos with golangci-lint
 * merge-compile-commands:   Merges all compile_commands.json files into one
 * proto-build:              Generates TS and Go bindings from the .proto API definitions
 * server-build:             Compiles the Nebula server code
 * server-container:         Builds the docker container for Nebula
 * server-lint:              Lints server with golangci-lint
 * server-run:               Launches Nebula
 * update-deps:              Update the checksums listed in DEPS.yml (only use this if you manually changed that file)
 * updater-build:            Builds the Knossos updater
 * updater-run:              Launches the Knossos updater

Diese Revision wurde am 24. März 2023 16:18 von praseodym erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Howto