Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Ковыряем движок и всё такое | страница 3
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 3 из 15
На страницу: Пред.  1, 2, 3, 4 ... 13, 14, 15  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X4: Foundations » Модовый и скриптовый отсек X4: Foundations: «Ковыряем движок и всё такое»
Kyoryukun
 50 EGP

Репутация: 0
Сообщения: 2

Зарегистрирован: 22.07.2016
Вопросец для тех, кто шарит. Разрабы на реддите писали, что максимальный размер для "плота" (участка под строительство станции) может быть 10x10x10 км, иначе игра сломается, потому что корабли не смогут в пасфайндинге. Потом, правда, они эти параметры увеличили в 2 раза, то бишь до 20x20x20 км. Вот у меня в связи с этим назрел вопрос: можно ли эти параметры ещё увеличить и если можно, то насколько?
    Добавлено: 14:09 03-12-2018   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
HikeR :
4) если всё OK, идём дальше

Не-а, Verification Failure говорит
Код:
openssl dgst -sha512 -verify public.key -signature save.sig save.xml
Verification Failure

Делал все строго по инструкции.
Есть предположение что-то не то с кодировками этих охраняемых/сравниваемых файлов. В cmd ставил 866 или 65001, результат все равно "Verification Failure".
Пробовал по-всякоиму: пересохранять все эти файлы (save.sig, save.xml, signature.b64) и в 866 и в 65001 (UTF-8) вреучную - не работает.
Ну и на всякий случай: ось - Win7x64 рус.
чяднт?

Последний раз редактировалось: Shadowman (14:41 03-12-2018), всего редактировалось 2 раз(а)
    Добавлено: 14:39 03-12-2018   
RAMI
 330 EGP


Репутация: 82
Сообщения: 2538
Откуда: Центральная Россия
Зарегистрирован: 16.11.2005
Shadowman :
чяднт?
А чем редактировал? Возможно там в файлах изначально нет перевода каретки (линуховый вариант), а при сохранении из под винды он появляется или наоборот. Это просто мысль, не утверждение.
_________________
В действительности всё иначе, чем на самом деле...
    Добавлено: 14:44 03-12-2018   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
AkelPad. нормально он с кодировками обращается, проверено.
Что открывал, то и сохраняет.

Еще подумал - может, не те версии openssl и base64 взял.
Всебрал с sourceforge:
OpenSSL: 1.0.2c 12 Jun 2015
base64: 0.94.00, Thu Oct 29 01:36:00 2015, ANSI-SOURCE C
Я тут не сильно ориентируююсь. Может, подскажете, где виндовые бинарники взять. А то что-то на оффсайте openssl только исходники под компиляцию.

Последний раз редактировалось: Shadowman (14:54 03-12-2018), всего редактировалось 1 раз
    Добавлено: 14:48 03-12-2018   
RAMI
 330 EGP


Репутация: 82
Сообщения: 2538
Откуда: Центральная Россия
Зарегистрирован: 16.11.2005
А если ничего не изменять и заново попробовать подписать, получится ли?
_________________
В действительности всё иначе, чем на самом деле...
    Добавлено: 15:00 03-12-2018   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
В смысле, начать с конца? Легко.
после
Код:
base64 -w0 new_save.sig > new_save.b64

имеем в файле new_save.b64 такое:
b64:001:Syntax Error -- check help (-h) for usage.
посмотрел help. Оказалось, такая строка правильная:
Код:
base64 -e new_save.sig > new_save.b64

(так что как минимум бинарник base64 у меня не тот, что у автора).
Полученное на выходе (new_save.b64) похоже на то, что было в сейве в тэге сигнатуры.
Но прямо сейчас посмотреть в игре не могу, что она скажет на новый сейв, т.к. на работе видика с вулканом не имеется.
    Добавлено: 15:20 03-12-2018   
RAMI
 330 EGP


Репутация: 82
Сообщения: 2538
Откуда: Центральная Россия
Зарегистрирован: 16.11.2005
Shadowman :
так что как минимум бинарник base64 у меня не тот, что у автора
Да есть такая беда линуховых/фряшных утилит где у одной версии одни параметры, у другой другие (одна линуховая изначально, другая например фряшная изначально). Думаю надо за правило взять указывать версию используемого софта.
_________________
В действительности всё иначе, чем на самом деле...

Последний раз редактировалось: RAMI (15:30 03-12-2018), всего редактировалось 1 раз
    Добавлено: 15:24 03-12-2018   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
Shadowman :
base64: 0.94.00, Thu Oct 29 01:36:00 2015, ANSI-SOURCE C

Походу, при исходнике new_save.sig в кодировке 866 на выход тулза выдает new_save.b64 в 1251, которая в сейв вписывается ракообразно (с концами строк как минимум не к месту).
Так что, очень похоже, что base64 и косячит.
    Добавлено: 15:31 03-12-2018   
RAMI
 330 EGP


Репутация: 82
Сообщения: 2538
Откуда: Центральная Россия
Зарегистрирован: 16.11.2005
Shadowman :
Походу, при исходнике new_save.sig в кодировке 866 на выход тулза выдает new_save.b64 в 1251, которая в сейв вписывается ракообразно (с концами строк как минимум не к месту).
Так что, очень похоже, что base64 и косячит.
А если поставить cygwin и в нем установить openssl?
_________________
В действительности всё иначе, чем на самом деле...
    Добавлено: 15:44 03-12-2018   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
RAMI :
поставить cygwin

Та че уже там, линух поставить, да и все Ой, не могу!..
Не-е-т, не наш метод, винды еще попыхтят.
Значит, вот что можно проделать:
1. Вместо
base64 -d signature.b64 > save.sig
пишем
Код:
certutil -decode signature.b64 save.sig

после этого уже проходит проверку
Код:
openssl dgst -sha512 -verify public.key -signature save.sig save.xml
Verified OK

А потом вместо
base64 -w0 new_save.sig > new_save.b64
будет
Код:
certutil -encode new_save.sig tmp.b64 && findstr /v /c:- tmp.b64 > new_save.b64

Т.е. как минимум от утилы base64 просто уходим (certutil стандартная в виндах).
А дальше надо чуток руками допилить (то же наблюдалось и для base64, кстати). Конечный файлик new_save.b64 взять убрать переносы строк и сохранить.
И что-то мне подсказывает, что алгоритм верен, т.к. наша новая подпись - байт в байт той же длины, что и исходная из сейва.
Но как грузиться будет в игру - пока непонятно, только дома смогу проверить.

ЗЫ: я бы не заморачивался только ради того чтобы деньги править. Но редактировать сейв без получения статуса "modified" в конечном итоге, мне кажется, того стоит.

добавлено спустя 5 минут:
Kyoryukun :
в связи с этим назрел вопрос: можно ли эти параметры ещё увеличить и если можно, то насколько?

Вопрос, наверное, будет самое то, не побоюсь этого слова, запостить на форум Egosoft.

Последний раз редактировалось: Shadowman (16:58 03-12-2018), всего редактировалось 1 раз
    Добавлено: 16:58 03-12-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
по поводу base64 и иже с ними.

в виндовом коммандном шелле (cmd.exe) любой перевод строки при работе с перенаправлением вывода на самом деле записывает именно виндовый перевод строки (\x0D\0xA), даже если в потоке встретился случайный символ \x0A.
в сохранениях используется никсовый перевод строки (\x0A).
ключ -w0 у утилиты base как раз таки использован для получения целой строки без переносов (по умолчанию там на 76 символе вроде вставляется перенос), также как и в сейве.

а еще base64 кодирование/декодирование можно делать средствами самого openssl без перенаправлений:
Код:
$ echo "X4 Foundation" > file.txt
...
$ openssl openssl enc -base64 -in file.txt -out file.b64
$ cat file.b64
WDQgRm91bmRhdGlvbgo=
$ openssl enc -base64 -d -in file.b64 -out file2.txt
$ cat file2.txt
X4 Foundation


но главное, что смысл действия получилось донести, а дальше, полагаю, кто-нить соорудит автоматический парсер и подписыватель сейва с драг-н-дропом.

Цитата:
поставить cygwin

если у кого Win10, то лучше установить WSL.

p.s.
на самом деле самое главное выдрать из сейва теги signature. при переподписывании же будет вообще пофиг на переводы строк и прочая, xml в любом виде будет принят лишь бы он был подписан. а перед подписью хоть через любой beautifier xml-ку прогонять можно.

Последний раз редактировалось: HikeR (18:46 03-12-2018), всего редактировалось 1 раз
    Добавлено: 18:42 03-12-2018   
TechCat
 100 EGP


Репутация: 25
Сообщения: 328

Зарегистрирован: 20.02.2006
HikeR :
ну, будут как в X2 собственноручно подписывать избранные моды, которые, по их мнению, не меняют баланс.
с другой стороны, организовать онлайн-подпись модов при их загрузке в мастерскую через свою утилиту не передавая приватный ключ пользователю легче лёгкого.
с третьей стороны, тогда зачем было огород городить...


Они так сделали, поскольку обещали вернуть сервер с статистикой игры пользователей. Что бы рейтинг был. Ввели не сразу, либо для начало надо им хаки закрыть. Вот вы нарелизите подписанных модов — егософт и не будет его делать.
_________________
CMDR TechCat, Виконт Империи
    Добавлено: 20:39 03-12-2018   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
Проверил. Измененный и подписанный сейв загружается, подписывание не прокатывает. Надпись "Модифицировано" имеет место быть. Модов не устанавливал.

Причем, все делается корректно, т.к. пересоздание подписи для неизмененнго сейва выдало абсолютно идентичный оригинальному по наполнению тэг signature.

Сейв грузил неупакованным и время/дату создания файла выставлял в точности по файлу, который редактировался.
Потом даже попробовал всего заменить байты (без измениния размера) - все равно "Модифицировано".
    Добавлено: 20:53 03-12-2018   
TechCat
 100 EGP


Репутация: 25
Сообщения: 328

Зарегистрирован: 20.02.2006
А если вернуть оригинальный пропадает?
_________________
CMDR TechCat, Виконт Империи
    Добавлено: 20:55 03-12-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
Shadowman :
сейв загружается, подписывание не прокатывает. Надпись "Модифицировано" имеет место быть.

вариант 1: сейв битый, был записан в то время, когда игрок нажимал кнопки (официально подтвержденный баг !).
вариант 2: вы всё делаете неправильно Подмигиваю закиньте куда-нить оригинальный и измененный сейв, проверю. кстати, в uidata.xml ничего подозрительного нет?
вариант 3: я все делаю неправильно. я писал и проверял ещё на первой версии игры, а в 1.10 могли что-то подправить.
    Добавлено: 21:02 03-12-2018   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
TechCat :
А если вернуть оригинальный пропадает?

Да.
HikeR :
вариант 1: сейв битый, был записан в то время, когда игрок нажимал кнопки (официально подтвержденный баг !).

Был бы битый, неправленый файл был бы также modified
HikeR :
закиньте куда-нить оригинальный и измененный сейв, проверю. кстати, в uidata.xml ничего подозрительного нет?

 Не вопрос   (кликните здесь для просмотра)

Походу, игра уже версии 1.20.
    Добавлено: 21:15 03-12-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
про шрифты.

следуя моде и прогрессу разработчики добрались до SDF-шрифтов. штуку эту лет 10 назад придумала(?), описала и использоовала Valve в своём TF2, затем подтянулись мобильные девелоперы, ну и немцы, наконец.



плюсов море. вместо множества текстур под каждый размер шрифта (в XR для русского языка их было чуть не под 100 метров) используется одна специально подготовленная текстура небольшого размера и простенький шейдер. последний выдает практически идеальные контрастные контуры символов, букв, цифры, иконок и чего угодно в очень широком диапазоне размеров.
минусов всего пара. всё это работает только с довольно простыми контурами (алфавит в это дело входит) и приемлимый результат можно получить либо для очень мелких объектов, либо для крупных.

теперь о реализации. в списке лицензий увидел библиотеку STB, (Sean's Tool Box), в которую как раз есть фича render glyphs to one-channel SDF bitmaps. однако как я не пытался подобрать нужные параметры, на результат немцев он походил очень слабо. перепробовал порядочную кучку других утилит, дошло до того, что самостоятельно считал этот самый distance field.

вот оригинальный символ решётки, мой самый лучший результат (увеличено в 4 раза, шрифт Cuprum) и как это выглядит в ноутбучном разрешении с масштабом UI 150%:


основной шрифт, конечно, ни к чёрту, но крупные заголовки, имхо, выглядят пристойно. и что-то надо делать с хинтингом.

да, нафига это нужно. когда в XR весь мир играл с приятным Zekton нам дали что-то несуразное. теперь весь мир пользует Arial (или какой-то другой sans serif), а до нас наконец дошел профессиональный, локализованный, но всё-таки Zekton (читай футуристический шрифт), который теперь вообще ни к месту.

к слову, не откажусь от намёков на какие-то готовые тулзы, выдающие подобный результат.

p.s.
с другой стороны, в больших разрешениях выглядит не так погано:


Последний раз редактировалось: HikeR (22:09 03-12-2018), всего редактировалось 3 раз(а)
    Добавлено: 21:47 03-12-2018   
alexenin
 50 EGP

Репутация: 0
Сообщения: 18

Зарегистрирован: 30.11.2018
Парни, а thereshallbewings здесь зашит?
    Добавлено: 22:43 03-12-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
Shadowman :
Не вопрос   (кликните здесь для просмотра)
оригинал
правка
uidata.xml

блин, копался со шрифтами игра обновилась до 1.2, пришлось искать и качать 1.10. итог — всё нормально с вашим сейвом, подписывается и принимается без modified. смотрите в diff-е вашу ошибку — https://pastebin.com/UszrEtkj , вы не во всех местах изменили циферки Подмигиваю

а вот 1.20 у меня теперь вообще не запускается, дальше проверяйте сами.

alexenin :
а thereshallbewings здесь зашит?

в экзешнике такая строка есть.

Последний раз редактировалось: HikeR (23:14 03-12-2018), всего редактировалось 1 раз
    Добавлено: 23:10 03-12-2018   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
HikeR :
смотрите в diff-е вашу ошибку

Это разве моя ошибка? Это ж новая закладка ES Хы...

HikeR :
ключ -w0 у утилиты base как раз таки использован для получения целой строки без переносов

Вот потому я и указал выше
Shadowman :
base64: 0.94.00, Thu Oct 29 01:36:00 2015, ANSI-SOURCE C

Не понимает она такого ключа. И похожего не имеет.
Хотя, это уже неважно.

upd:
Ну, вобщем, 1.10 уже нет - стим скачал и поставил 1.20 сразу при старте еще до моего пердыдущего поста.
А на 1.20 те 5 мест отредактировал, подпись прикрутил и снова получил modified при загрузке. Они там либо еще в паре мест закладочки сделали, либо ключ поменяли, либо хз что еще.

Вероятно, надо пробовать просто менять байтик не в таком "наблюдаемом" ЕГ месте. Глядишь, и получится. Как-то и не подумал даже сразу...
Напр., количество какой-нибудь хрени в трюме.
Но эксперимент смогу провести только вечером.

Последний раз редактировалось: Shadowman (17:23 04-12-2018), всего редактировалось 2 раз(а)
    Добавлено: 02:52 04-12-2018   
Канал X4: Foundations -> Модовый и скриптовый отсек X4: Foundations: «Ковыряем движок и всё такое»
На страницу: Пред.  1, 2, 3, 4 ... 13, 14, 15  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Где дыркоштопы законов? (спросил Xenon RUS)

  » Ковыряем движок и всё такое | страница 3
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18