Difference between revisions of "Linux/hu"

From Kerbal Space Program Wiki
Jump to: navigation, search
(accomplished / kész)
 
(+ figyelmeztetés)
 
(8 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
==Indítás ékezetes karaktereket használó rendszereken==
 
==Indítás ékezetes karaktereket használó rendszereken==
 
===A probléma lényege ===
 
===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 <code>3.1415</code>, a magyarok pedig vesszővel <code>3,1415</code>. 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.
+
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 <code>3.1415</code>, más népek, köztük mi, magyarok, pedig vesszővel <code>3,1415</code>. 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===
 
===Megoldás===
Line 35: Line 35:
 
<code>LC_ALL=C %command%_64</code>
 
<code>LC_ALL=C %command%_64</code>
  
==Modok==
+
== Hiányzik a szöveg a menüben és a játékban ==
 
===A probléma lényege===
 
===A probléma lényege===
Nincs probléma, a modok sztenderdizáltak és egyik a másikkal együttműködik. Nem kell külön figyelmet fordítani arra, hogy mod fájlai ismerik-e a {{color|darkgreen|bővítmény}}.dll-t.
+
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.
 +
 
 +
==[[addon/hu|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 {{color|darkgreen|bővítmény}}.dll-t.
  
==64 bittes verzió==
+
==64 bites változat==
 
===A probléma lényege===
 
===A probléma lényege===
A KSP modokkkal sok memóriát igényel, és 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 kell eltávolítani a modokat, A Linuxhoz viszont létezik 64 bites verziója a játéknak, elérhetetlen memóriahatárokkal. Itt is ismert egy hiba, de kezelhető az indítás előtt.  
+
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===
 
===Megoldás===
 +
{{Box|type=warning|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 <code>uname --hardware-platform</code> parancssorra a válasznak <code>x86_64</code>-nak kell lennie.
 
Nyitásként győződj meg róla, hogy 64 bites processzorod van és 64 bites rendszermagod. A <code>uname --hardware-platform</code> parancssorra a válasznak <code>x86_64</code>-nak kell lennie.
  
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 [[root directory/hu|játék mappájában]] lennie kell egy <code>KSP.x86_64</code> 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 [[w:hu:Cd_(parancs)|cd]] parancs segítségével. pl:
 +
 
 +
<code>cd "$HOME/.local/share/Steam/SteamApps/common/Kerbal Space Program/"</code>
  
<code>echo "838077: 00" | xxd -r - KSP.x86_64
+
''($HOME - a home könyvtárod!)''
  
 +
: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>
 
echo "83807c: 00" | xxd -r - KSP.x86_64</code>
 
echo "83807c: 00" | xxd -r - KSP.x86_64</code>
 +
|}
 +
 +
====egy univerzális foltozó [https://github.com/Voidi/proprietary_installer/blob/master/ksp_installer Voidi]-től ====
 +
<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 modot 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.
  
 
Indítás a lokalizáció figyelembevételével: <code>LC_ALL=C ./KSP.x86_64</code>
 
Indítás a lokalizáció figyelembevételével: <code>LC_ALL=C ./KSP.x86_64</code>
Line 58: Line 100:
  
 
==Joystick==
 
==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 Linuxnak: <code>ls -l /dev/input/js* /dev/js*</code>. Ha a parancs nem hozott fel semmilyen fájlt, ez azt jelentheti, hogy nincs installálva a meghajtóprogram. Például a Fedora esetén telepíteni kell a <code>kernel-modules-extra</code> csomagot, dugd újra a joystickot és próbáld még egyszer úja.
+
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: <code>ls -l /dev/input/js* /dev/js*</code>. 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 <code>kernel-modules-extra</code> csomagot, majd dugd be újra a joystickot és próbáld még egyszer úja!
 +
 
 +
==Külső Hivatkozások==
 +
[http:////forum.kerbalspaceprogram.com/threads/24529-The-Linux-compatibility-thread!?highlight=linux+compatibility/|A KSP Linux kompatibilitással foglakozó fóruma]
 +
 
 +
https://wiki.archlinux.org/index.php/Kerbal_Space_Program - az Archwiki KSP-vel foglalkozó része

Latest revision as of 18:35, 26 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!). 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