ARM и CS сервер

Сообщения
2
Реакции
1
ARM получает все более широкое распространение, в том числе, и среди серверов. Как вы смотрите на идею начать переносить весь код для кс (в народе, 1.6) сервера на ARM? На мой взгляд, перенести весь сервер на ARM возможно, так как большинство исходников от большинства библиотек есть, а если чего-то и нет, есть эмуляторы, с помощью которых можно сэмулировать архитектуру х86 на сервере с ARM. Но только лишь через эмуляцию без пересборки кода под ARM могут быть большие потери в производительности. Что вы об этом думаете?

P.S. Я искал через поиск на этом сайте, но не нашел ни одной темы насчет этой идеи. Полгода назад мне удавалось запускать весь кс сервер с моим модом с 16-ю ботами ZBot на ультрабюджетном телефоне с ARM внутри локальной сети через эмулятор, оно работало... фпс, тки, в 200.
 
Сообщения
16
Реакции
42
Помог
2 раз(а)
Может, конечно, ARM и получает все большее распространение, но пока кроме Mac MINI (на M1) и каких нибудь малинок дело дальше не пошло. Во всяком случае, не видел я продажи дедиков на ARM.

А запускать сервера на телефона - ну такое себе. Если хочется поиграться с нативным запуском серверов на ARM пока есть FWGS Xash3D. Успешно работает на малинке с ботами, и даже выдает вменяемый ФПС.

Что касается (re)hlds, то портировать его не сложно. Там достаточно поправить работу со строками на X64 (ARM64, ибо ARM32 уже мертв). И будет работать, правда без Steam API (хз, есть ли он под ARM).

Больше всего "доставит" работа AMXX на ARM64, ибо под него нет JIT-компилятора, и оно будет работать медленно (не смертельно, но ощутимо). А учитывая тенденцию у серверодержателей пихать под 80-100 плагинов на сервере, врядли ФПС будет радовать.

Запуск в x86 эмуле на ARM - костыль, смысл от ARM?

В общем, чтобы оно было красиво - нужно работать, сомневаюсь, что кому-нибудь из разработчиков re* это интересно сейчас. ИМХО.
 
Сообщения
2
Реакции
1
jeefo, В моем понимании, процессоры на ARM более энергоэффективные и дешевые. За ними может быть большое будущее. Даже Microsoft и Apple стали лезть в эту тему... Microsoft и вовсе выпустила Windows 10 под ARM с транслятором для запуска x86 приложений на ARM (Работает пока лишь на некоторых процессорах от Qualcomm т.к. в них есть некоторого рода "ускорители" для этой эмуляции)

Современные эмуляторы позволяют комбинировать код. Если что-то перенести вот прям никак не выйдет, можно просто сэмулировать это место, потеряв примерно 1/4-3/4 производительности ЦП на данном месте. Вроде как, разрабы FWGS и юзали эмулятор для эмуляции некоторых библиотек, перекомпиляция которых невозможна. На другом форуме про это где-то читал.

По мне так, если и развить эту тему, можно было бы позволить людям самим открывать больше серверов, либо в будущем заказывать их по более низкой цене. К примеру, можно было бы запустить сервер хоть на ненужном бабушкином планшете, и поддерживать, развивать его в дальнейшем. Может, качество было бы и ниже, но повысилась бы доступность. В конце концов, много самых разных людей берут сервера на железе низкого качества/железе, где по 5-20 серверов на ядро за 5-9 руб/слот. Таких не подавляющее большинство, но они есть.
 
Последнее редактирование:
Сообщения
56
Реакции
67
Помог
1 раз(а)
По мне так, если и развить эту тему, можно было бы позволить людям самим открывать больше серверов, либо в будущем заказывать их по более низкой цене. К примеру, можно было бы запустить сервер хоть на ненужном бабушкином планшете, и поддерживать, развивать его в дальнейшем. Может, качество было бы и ниже, но повысилась бы доступность. В конце концов, много самых разных людей берут сервера на железе низкого качества/железе, где по 5-20 серверов на ядро за 5-9 руб/слот. Таких не подавляющее большинство, но они есть.
О чем мы говорим? об экономии там где не стоит экономить?
 
Сообщения
17
Реакции
7
Попробовал экспериментировать под ARM64. Пришлось выпилить все steamapi вызовы. А x86 SSE заменены на ARM Neon с помощью библиотеки sse2neon, скорее всего стоит полностью выпилить это.

Исходники rehlds с моими экспериментами:

Прикрепил скомпиленные бинарники, компилил на Ubuntu 21.04

Итог экспериментов на сегодня:
  • hltv работает, подключается и записывает демки,
  • hlds не запускается:
Код:
Console initialized.
Aborted (core dumped)
 

Вложения

Сообщения
17
Реакции
7
Доэкспериментировал до рабочего состояния, сервер запускается и на нём можно играть.

Под ARM64 собрать проблематично из-за string_t, собрал под 32 бита
В качестве либы клиента steam использовал goldberg_emulator
Отключил ReHLDS JIT

TODO: Собрать metamod и amxmodx
 

Вложения

Сообщения
678
Реакции
56
Помог
16 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
SergeyShorokhov, Не получится у него, ну по крайней мере пока он все либы не переведёт на 64, а еще и код тоже адаптирует под 64.
 
Сообщения
17
Реакции
7
SergeyShorokhov, если есть исходники, то можно скомпилить под ARM. Если исходников нет, то только автор, либо никто.
 
Сообщения
0
Реакции
0
knik, Здравствуйте, у меня завалялся айфон5с, у него проц а6, то есть arm32. У меня появилась идея запустить на нём сервак кс 1.6. Это реализуемо? Я когда то делал простой сервачок, но не совсем понимаю, что с этими файлами делать. Заранее спасибо за ответ.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу