Стендап Сьогодні
📢 Канал в Telegram @stendap_sogodni
🦣 @stendap_sogodni@shevtsov.me в Федиверсі

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

11.05.2025

Терниста дорога до власного сервера CS 1.6

Запропонував колегам зробити місце зустрічі онлайн — сервер Minecraft. Отримав контрпропозицію — а що, як старий та знайомий Counter Strike? Вирішив випробувати.

З першого погляду виявилося що в основі, все непогано! В Steam є термінальний клієнт SteamCMD, який навіть в Docker не те що запускається, а має офіційний образ!

За допомогою цього клієнта можна завантажити сервер гри, та не тільки CS, а багатьох інших. Для більшості, включаючи CS, навіть авторизація не потрібна, тобто можна легко зібрати Dockerfile та відвантажити куди потрібно.

Деякий час в мене SteamCMD вилітав із помилкою Fatal error: futex robust_list not initialized by pthreads… що пояснювалося 32-бітністю, але не повністю. Бо навіть офіційний образ не хотів запускатись, а там вже вся підготовка ОС виконана. Нарешті здогадався, що проблема в тому, що я все це роблю на Apple Silicon, та щось там в емуляції i386 не гладко. Тут згадав, як я запускав Docker віддалено, та на AMD64 помилка зникла. Звісно, на практиці я б тримав сервер десь в інтернеті, а не на власному ноутбуці.

…Але все це марно, бо жодний зі “старих” контрстрайків не працює на свіжих macOS, бо вони всі 32-бітні. Як і весь Half-Life. Є підтримка тільки Counter-Strike 2, який важить 40 Гб та ще й нікому не знайомий. Так я колег не долучу. Може, краще в Doom (GZDoom) чи Quake грати? Або мод Counter Strike для Minecraft… 🙃

Втім, не все ще втрачено, бо я тепер бачу що є прямо декілька портів вихідного коду або реверс-інжинірнутих. (Не всі вони цілять на macOS, одначе.) Це вже коли буде знову настрій для диких експериментів.