Difference between revisions of "Linux/ru"
(0.24 update) |
m (Added link) |
||
Line 3: | Line 3: | ||
==Запуск в не латинской локали== | ==Запуск в не латинской локали== | ||
===Суть проблемы=== | ===Суть проблемы=== | ||
− | KSP не может нормально работать с русской локалью, основная проблема в том, что англичане записывают десятичные дроби с точкой <code>3.1415</code>, а русские - с запятой <code>3,1415</code>. Из-за бага в движке Unity игра пишет числа в одном виде и пытается читать в другом. | + | [[KSP/ru/KSP]] не может нормально работать с русской локалью, основная проблема в том, что англичане записывают десятичные дроби с точкой <code>3.1415</code>, а русские - с запятой <code>3,1415</code>. Из-за бага в движке Unity игра пишет числа в одном виде и пытается читать в другом. |
===Решение=== | ===Решение=== | ||
[[File:Ksp steam command.jpeg|thumbnail|Командная строка в Steam]] | [[File:Ksp steam command.jpeg|thumbnail|Командная строка в Steam]] |
Revision as of 02:43, 2 July 2024
Этот раздел содержит информацию об запуске Kerbal Space Program под операционными системами GNU/Linux.
Contents
Запуск в не латинской локали
Суть проблемы
KSP/ru/KSP не может нормально работать с русской локалью, основная проблема в том, что англичане записывают десятичные дроби с точкой 3.1415
, а русские - с запятой 3,1415
. Из-за бага в движке Unity игра пишет числа в одном виде и пытается читать в другом.
Решение
Запускать игру в латинской локали. В командной строке:
LC_ALL=C ./KSP.x86
Всё, что применимо в командной строке (она-же "консоль") может быть вписано в свойства значка на рабочем столе, пункта меню и в файлы .desktop так что вам не придётся печатать буквы в страшной чёрной консоли просто чтобы поиграть в игру. Для запуска через Steam требуется слегка другой способ:
LC_ALL=C %command%
См иллюстрацию.
Моды
Суть проблемы
Нет проблем, моды устанавливаются и работают на всех ОС одинаково. Не обращайте внимание на то, что файлы модов имеют расширение .dll.
64-битная версия
Суть проблемы
KSP с модами требует много памяти, но 32хбитный процесс не может работать более, чем с двумя ГБ памяти. Пользователям windows приходится удалять моды, а для Линукс существует 64хбитная версия игры, не имеющая ограничений по памяти. В ней, однако имеется баг, рушащий игру при запуске.
Решение
Разумеется, у вас должен быть 64битный процессор и 64хбитное ядро. Команда uname --hardware-platform
должна давать ответ x86_64
.
В папке с игрой должен быть файл KSP.x86_64
Его необходимо исправить. Откройте консоль в папке с игрой:
cd "$HOME/.local/share/Steam/SteamApps/common/Kerbal Space Program/"
Команды для исправления для версии KSP 0.24:
Версия | Команда |
---|---|
0.24 — 0.24.2 |
|
0.23.5 |
|
0.23 |
|
Универсальный патчер от 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
Теперь можно установить хоть все моды, лишь бы аппаратной памяти хватило.
Запуск с учётом фикса локали: LC_ALL=C ./KSP.x86_64
То-же самое для Steam: LC_ALL=C %command%_64
Джойстик
Джойстик должен просто работать. Если игра не видит джойстик, проверьте видит-ли его сам Линукс: ls -l /dev/input/js* /dev/js*
. Если команда не выведет никаких файлов, значит, возможно, у вас не установлены драйверы. В Fedora вам потребуется доустановить пакет kernel-modules-extra
, переподключить джойстик и попробовать ещё раз.
Нет текста на ряде панелей как в меню так и в игре
Решение
Для Debian 7.5 установить пакет "Installer for Microsoft TrueType core fonts" Для ArchLinux установить "ttf-ms-fonts" (источник - https://wiki.archlinux.org/index.php/Kerbal_Space_Program)