Linux/hu

From Kerbal Space Program Wiki
< Linux
Revision as of 18:35, 26 August 2014 by NWM (talk | contribs) (+ figyelmeztetés)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Ez a rész információt tartalmaz a Kerbal Space Program GNU/Linux rendszerek alatt való elindításáról.

Indítás ékezetes karaktereket használó rendszereken

A probléma lényege

A KSP nem működik a magyar környezetben, az alapvető gond abból adódik, hogy az angolok a tizedes törteket ponttal írják 3.1415, más népek, köztük mi, magyarok, pedig vesszővel 3,1415. A hiba aból adódik, hogy a játék Unity motorjában az egyik helyen az egyik módon írja a számokat, a másik helyén pedig máshogy próbálja beolvasni.

Megoldás

parancssor a Steam-en

A játékot az angolok lokalizációval kell elindítani. A parancssor:

LC_ALL=C ./KSP.x86

64 bites verzióhoz:

LC_ALL=C ./KSP.x86_64

Az egészet beteheted a menürendszer indítóparancsába, vagy csinálhatsz hozzá egy indítófájlt amelyből indíthatod a programot. Például ilyet: (Ilyenkor ne feledd el, hogy a fájl futtatható legyen!)

cd /home/felhasználó neve/játék könyvtára/KSP_linux/

LC_ALL=C ./KSP.x86_64

A Steames verzió esetén ez valahogy így nézne ki:

cd /home/felhasználó neve/.local/share/Steam/SteamApps/common/Kerbal\ Space\ Program/

LC_ALL=C ./KSP.x86_64

A Steam rendszerén keresztül játszáshoz könnyen megtehető a következő módon:

LC_ALL=C %command%

64 bitre:

LC_ALL=C %command%_64

Hiányzik a szöveg a menüben és a játékban

A probléma lényege

A játék Arial és Arial Black betűkészletet igényel, amely nincs telepítve.

Megoldás

A Debian alapú rendszereknél (Ubuntu, Mint) "Microsoft TrueType core fonts" csomag telepítése (vagy ahogy helyileg nevezik), az AchLinuxnál az "ttf-ms-fonts" és hasonlóan a többi disztronál az ennek megfelelő csomag helyes telepítése.

Kiegészítők (Modok)

A probléma lényege

Nincs probléma, a kiegészítők sztenderdizáltak és egyik a másikkal együttműködik. Nem kell külön figyelmet fordítani arra, hogy kiegészítő fájlai ismerik-e a bővítmény.dll-t.

64 bites változat

A probléma lényege

A KSP kiegészítőkkel vastagon megtűzdelve sok memóriát igényel, de a 32 bites alkalmazás nem tud 4GB-nál többet kezelni (videokártya-memóriával együtt!). Itt is ismert egy hiba, de kezelhető az indítás előtt.

Megoldás

Ez az eljárás módosítja a futtatható KSP.x86_64 fájlt. Csinálj egy biztonsági mentést előtte, mivel ha nem megfelelően alkalmazod különböző hibákat okozhat, vagy tönkreteheti a futtatható fájlt.

Nyitásként győződj meg róla, hogy 64 bites processzorod van és 64 bites rendszermagod. A uname --hardware-platform parancssorra a válasznak x86_64-nak kell lennie.

A játék mappájában lennie kell egy KSP.x86_64 fájlnak. Ezt kell kijavítani azzal, hogy két byte-ot kinullázunk. Nyiss egy konzolt a játék mappájában.

Ha nem a játék könyvtárában vagy akkor válts arra a cd parancs segítségével. pl:

cd "$HOME/.local/share/Steam/SteamApps/common/Kerbal Space Program/"

($HOME - a home könyvtárod!)

A javítóparancsok a különböző KSP kiadásokhozhoz:
Kiadás parancssorok
0.24 — 0.24.2

echo "0099f587: 00" | xxd -r - KSP.x86_64
echo "0099f58c: 00" | xxd -r - KSP.x86_64

0.23.5

echo "090f377: 00" | xxd -r - KSP.x86_64
echo "090f37c: 00" | xxd -r - KSP.x86_64

0.23

echo "838077: 00" | xxd -r - KSP.x86_64
echo "83807c: 00" | xxd -r - KSP.x86_64

egy univerzális foltozó Voidi-től

#!/bin/sh
position1=$(echo "obase=16; $(perl -n0777e 'print pos()-1,"\n" while /\x01\x00\x00\x00\xB8\x01\x00\x00\x00\xC3\x41\x56\x41\x55\x49/g' "./KSP.x86_64") - E" | bc)
if [ $position1 != "-E" ]
then
        echo "Patching Segfault out of the Rockets ..."
        cp -n "./KSP.x86_64" "./KSP.x86_64.unpatched"
        position2=$(echo "obase=16;ibase=16; $position1 + 5" | bc)
        echo "$position1: 00" | xxd -r - "./KSP.x86_64"
        echo "$position2: 00" | xxd -r - "./KSP.x86_64"
else
        echo "This seems to be not a vanilla KSP executable"
fi

Mostantól minden neked tetsző kiegészítőt bátran pakolhatsz a játékba, vagyis legalábbis mostantól tényleg annyit amennyit a géped bír.

Indítás a lokalizáció figyelembevételével: LC_ALL=C ./KSP.x86_64

Ugyanez Steam esetén: LC_ALL=C %command%_64

Joystick

A botkormánynak egyszerűen kell működnie. Ha a játék nem látja a joystickot, ellenőrizd, hogy a látható-e a Linux számára: ls -l /dev/input/js* /dev/js*. Ha a parancs nem hozott fel semmilyen fájlt, ez azt jelentheti, hogy nincs telepítve a meghajtóprogram. Ha van telepítsd a meghajtót, például a Fedora esetén telepíteni kell a kernel-modules-extra csomagot, majd dugd be újra a joystickot és próbáld még egyszer úja!

Külső Hivatkozások

KSP Linux kompatibilitással foglakozó fóruma

https://wiki.archlinux.org/index.php/Kerbal_Space_Program - az Archwiki KSP-vel foglalkozó része