Difference between revisions of "Linux/hu"

From Kerbal Space Program Wiki
Jump to: navigation, search
(+update)
(upd. 0.24.2)
Line 52: Line 52:
  
 
A játék mappájában lennie kell egy <code>KSP.x86_64</code> fájlnak. Ezen nem kell módosítani. Nyiss egy konzolt a játék mappájában.
 
A játék mappájában lennie kell egy <code>KSP.x86_64</code> fájlnak. Ezen nem kell módosítani. Nyiss egy konzolt a játék mappájában.
:A javítóparancsok a KSP 0.23-hoz:
+
:A javítóparancsok a különböző KSP kiadásokhozhoz:
 +
{| class="wikitable"
 +
|-
 +
! Kiadás !! parancssorok
 +
|-
 +
| 0.24 — 0.24.2||
 +
<code>echo "0099f587: 00" | xxd -r - KSP.x86_64<br>
 +
echo "0099f58c: 00" | xxd -r - KSP.x86_64</code>
 +
|-
 +
| 0.23.5 ||
 +
<code>echo "090f377: 00" | xxd -r - KSP.x86_64<br>
 +
echo "090f37c: 00" | xxd -r - KSP.x86_64</code>
 +
|-
 +
| 0.23 ||
 
<code>echo "838077: 00" | xxd -r - KSP.x86_64<br>
 
<code>echo "838077: 00" | xxd -r - KSP.x86_64<br>
 
echo "83807c: 00" | xxd -r - KSP.x86_64</code>
 
echo "83807c: 00" | xxd -r - KSP.x86_64</code>
:A javítóparancsok a KSP 0.23.5 kiadáshoz:
+
|}
<code>echo "090f377: 00" | xxd -r - KSP.x86_64<br>
+
 
echo "090f37c: 00" | xxd -r - KSP.x86_64</code>
+
====egy univerzális foltozó: a [https://github.com/Voidi/proprietary_installer/blob/master/ksp_installer Voidi]====
 +
<syntaxhighlight enclose="div" lang="text">
 +
#!/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</syntaxhighlight>
  
 
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 <u>géped</u> bír.
 
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 <u>géped</u> bír.

Revision as of 08:10, 3 August 2014

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!). A windows felhasználónak gyakran el kell távolítani a nem létfontosságú kiegészítőket, a Linuxhoz viszont létezik 64 bites verziója a játéknak, elérhetetlen memóriakorlátokkal. Itt is ismert egy hiba, de kezelhető az indítás előtt.

Megoldás

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. Ezen nem kell módosítani. Nyiss egy konzolt a játék mappájában.

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ó: a Voidi

#!/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ás

KSP Linux kompatibilitással foglakozó fóruma

Archwiki KSP-vel foglalkozó része