Перейти к содержимому

1

Сегодня, 5 августа 2010 года, один из титулованнейших киберспортсменов России, Синьгов 'Cooller' Антон Евгеньевич празднует свой двадцать четвертый день рождения.

Сегодня, 5 августа 2010 года, один из титулованнейших киберспортсменов России, Синьгов 'Cooller' Антон Евгеньевич празднует свой двадцать четвертый день рождения. ...читать далее "Король принимает поздравления"

1

Итак, я рад объявить всем, что у нас скоро открывается новое Интернет-кафе, в центре города Минска, в горячо любимом мной торговом центре Столица, в прекрасной кофейне КафеБерри.

Итак, я рад объявить всем, что у нас скоро открывается новое Интернет-кафе, в центре города Минска, в горячо любимом мной торговом центре Столица, в прекрасной кофейне КафеБерри.

Моя задача, как системного администратора всего этого счастья, была крайне нетривиальна - в целях экономии средств и времени необходимо, используя старые компьютеры и программу управления, работающую на другом Интернет-кафе, построить рабочую точку.
Итак, задача поставлена, приступаем к ее реализации.
Первоначальная работа - это улаживание административных взаимодействий с провайдером (БелИнфонет) и владелицей КафеБерри. Тут все, по большей части, обошлось без меня, единственное, что я сделал - это убедил провайдера не снимать кроссировку с линии и не отбирать у меня хорошо спрятанный модем (он был настолько хорошо спрятан, что я только в момент сборов его нашел).

Следующий шаг - объяснение самому себе, как именно это должно работать.
Исходные данные: Интернет-кафе Росток (г. Минск, Ленинградская, 7), работает под управлением довольно-таки хорошего, но небесплатного ПО AstaLaVista (по заявлению его автора, разрабатывалось им самим специально для сети его компьютерных клубов), имеющего 30 лицензий на стационарные клиентские компьютеры +17 лицензий для внешних клиентов (Wi-FI). Где экономия, спросите Вы? Отвечаю: на Ростиксе всего 15 стационарных компьютеров, следовательно, еще 15 лицензий просто так стоят и не используются.

Задача1: объединить точки - решается на уровне провайдера, и почти меня не касается. Побочные следствия решения задачи на уровне провайдера - необходимость установки роутера в КафеБерри, и настройки исполнения скриптов Асты для IPFW на нем зеркально к такому же роутеру в Ростиксе. Статус задачи зеркалирования - пока не решена, буду благодарен любой помощи (можно в комментариях). На всякий случай, чтобы не задавалось лишних вопросов поясню смысл сей замысловатой задачки, правда, для этого придется несколько отклониться от темы.
Итак, программный комплекс AstaLaVista (я его обзываю для краткости Аста), состоит из нескольких модулей, без которых его функционирование невозможно. Причем часть модулей исполняется исключительно под управлением MS Windows. Основа Асты - программа/сервис под незамысловатым названием Server, с которой, собственно говоря, и происходит все управление. Данные Аста хранит в БД MySQL в формате InnoDB, взаимодействие с клиентом осуществляется специальной клиентской оболочкой, запускающейся перед Winlogon (под GNU/Linux, вроде бы и есть реализация, но что то про нее не слышно вообще), взаимодействие с админом - посредством программы Operator (тоже Windows приложение), взаимодействие с управляющим клубом - посредством программы Boss (Windows-приложение, по сути, являющееся всего лишь фронтендом для базы данных MySQL). У сервера есть замечательная возможность отдавать команды роутеру (в основном, это связка FreeBSD+IPFW, но при наличии прямых рук, напильника - можно заточить под что угодно). То есть, админ создает счет, клиент садиться за компьютер, shell открывает доступ к виндам, а сервер, по ssh отдает команду роутеру. В случае с одним роутером - все пляшет прекрасно. Но, у меня их, во-первых 2, а во-вторых, второй расположен удаленно (пусть и в одной подсети). Так вот, моя задачка состоит в том, чтобы или мониторить состояние правил IPFW и, при изменении той их части, которая касается КафеБерри, отправлять эти изменения туда (как?), или же, просто, при получении команды для IPFW роутер Ростикса просто передает такую же команду роутеру КафеБерри (такой подход мне кажется более экономичным и менее ресурсоемким). Прошу всех, кто может - окажите помощь ;-).

Задача2: экономия компьютеров - решилась относительно просто. Вместо двух компьютеров (роутер, и компьютер админа) - будет установлен лишь один, под управление FreeBSD с каким-либо GUI + 10 клиентских.
Дальше начались для меня шаманские пляски с бубном. Собственно говоря, я не новичок во FreeBSD, но ламерские мохнатые ушки все еще растут у меня откуда-то :-D. C самого начала, инсталлятор, загрузившись с диска, отказался обнаруживать этот самый диск в качестве источника установки. Имея доступ в Интернет, для меня это не оказалось такой уж большой проблемой, тем более, что последний дистрибутив, скачанный мной имеет номерок 7.2, а тут уже и 8.0 есть. Так что, я просто подсказал откуда с какого фтп-сервера брать дистрибутив и ушел пить кофе и готовить компьютеры с Windows.

Скоро сказка сказывается, но нескоро дело делается. Через некоторое время, Фря таки собралась и установилась и я начал настройку ее, как роутера и файл-сервера. Тут мне было все просто и знакомо: VPN-подключение поднимается при помощи MPD5, firewall и контроль доступа в Интернет - IPFW (всего что нужно - перекомпилировать ядро с парой новых параметров), файл-сервер - Samba. Установил, настроил, проверил, обновил, еще раз проверил - все работает.
Чуть не забыл о некоторых необходимых параметрах для /etc/sysctl.conf:

  • net.inet.ip.fw.verbose=1 - сообщения IPFW будут более содержательными 😉 (шутка, этот параметр обозначет необходимость логировать сообщение от ipfw в /var/log)
  • net.inet.ip.fw.verbose_limit=10000 - ограничение количества сообщений в лог
  • net.inet.ip.fw.one_pass=0 - пакет проходит через файрволл дважды - на входе и на выходе
  • net.inet.ip.forwarding=1

    #This sets the session lifetime for TCP sessions without any traffic to 1 hour,
    #for UDP to 10 seconds.
    net.inet.ip.fw.dyn_ack_lifetime=3600

    #Linux kernel 2.6.19
    compat.linux.osrelease=2.6.19

А вот далее, мне пришлось ступить на тропу неизведанного - установка GUI (Graphical User Interface). Спросил у знакомых, проанализировал собственные, довольно таки скудные знания в этой области и, первоначально, остановился на XFCE. Собралась она довольно таки быстро, запустилась тоже без проблем, а вот что с ней делать дальше - я так и не смог разобраться. Простой, непонятный и неудобный для меня-виндузятника интерфейс. Исходя из всех, вышеперечисленных моментов, а также, учитывая то, что я уже имел опыт работы с Gnome (http://wordpress.sng.by/testirovanie-svobodnoj-os-na-blondinke/), я решил не пытать судьбу и поставить его. Однако, из портов он так и не захотел собираться - останавливается на сборке libxml2/python и все на этом. Поискав информацию во всемогущем Гугле, я так ничего не нашел, и пришлось мне пойти по другому пути установки, любезно предоставляемой мне ОС FreeBSD - установка из системы пакетов.
Пакет Gnome2 (pkg_add -r gnome2) довольно таки шустро собрался, установился и запустился без проблем. Таким образом, первая часть конфигурация перешла в статут "завершена".

Теперь нужно приступить к доработке получившейся заготовки при помощи напильника. В первую очередь, проверил, стоил ли апдейтить Гнома - оказалось, что нет, из пакетов установилась последняя версия.
Теперь - русификация консоли, в чем я воспользовался блогом hd_keeper - http://hd-keeper.livejournal.com/1577.html.
После русификации консоли, следующий шаг - установка драйверов для видеокарты NVidia, потому что тот дефолтный драйвер что загружается по умолчанию, не поддерживает разрешение выше 800х600 пикселей. Тут опять же мне на помощь приходит всезнайка-Гугл и блог Linux/BSD Sharing (http://linux-bsd-sharing.blogspot.com/2009/03/howto-install-and-configure-nvidia.html). Первая рекомендация - смотреть на сайте Nvidia драйвера последней версии для моей системы. Однако, я решил скачать драйвера с официального сайта производителя моей материнской платы ASUS. Так как драйвера для FreeBSD специально не пишутся - то придется устанавливать еще и поддержку Linux, что делается довольно таки просто. Подробно и интересно все это описано тут - http://www.linux.com/archive/feature/53055?theme=print.
Однако, для конфигурации с загрузкой нужных мне параметров - необходимо изменять xorg.conf (по умолчанию, он должен находиться в /etc/X11/), однако в новых версиях его там нет, и появляется он при помощи команды Xorg -configure. Опять же, чтобы не утомлять - вот линки с информацией:

После этих нехитрых манипуляций Гном приобрел значительно более приятный внешний вид.

Итак, настройка ограниченно завершена, в следующих статьях постараюсь рассказать о моей борьбе с wine и настройке объединения клубов.

А работа на Gamerbox.ru продолжается. Советую всем, кто еще не знает об этой системе ознакомиться с ней и подписаться на рассылку с тем, чтобы в числе первых оказаться ее пользователем.

На прошедших выходных киберспортивный проект Sport in the Game провел 2 турнира в дисциплинах Counter-Strike 1.6 (online) и Counter-Strike:Source (LAN). Немножечко размышлений и историй

WES Masters Cup BY QL - Counter-Strike 1.6

Белорусская квалификация на крупный онлайн-турнир в дисциплине Couter-Strike 1.6. По очевидным причинам, турнир проводился в режиме онлайн и с клуба играла, пожалуй, единственная про-команда Беларуси, не у всех членов которой есть дома быстрое и стабильное подключение к Интернету, но, тем не менее, демонстрирующих неплохие результаты в турнирах в дисциплине Counter-Strike 1.6 (например, ASUS Winter 2010 CS Non-pro). С учетом того, что команда, игравшая из клуба, была одной - проблем со скоростью подключения и качеством связи, описанных мной в посте про предыдущий онлайн-турнир "Counter-Strike 1.6 - Онлайн-турнир", не наблюдалось.

Турнир оказался очень простым: всего 12 команд (репортаж можно прочитать тут - http://sng.by/articles/430.html), мы с Флексом сидели в клубе (лишь потому, что у нашего главного судьи, Паши Флекса, до сих пор нет дома мощного компа и доступа в Интернет), а Рико управлял серверами нашего партнера Maxigame.by из дома.
Начало турнира было запланировано на 13 часов, однако мы немного опоздали из-за того, что мне не хотелось свою любимую жену Оленьку оставлять одну дома на все выходные. Однако, задержка получилась небольшой, и в 13.15 мы начали наш турнир. Все прошло без особых происшествий и эксцессов, и, в итоге, мы выбрали команду, которая будет представлять Беларусь на турнире WES Masters Cup EU - vit-A-min.CosmosTV.
Если говорить в общем, то мне очень нравяться именно онлайн-турниры, хотя бы просто потому, что можно сидеть дома и спокойно, не напрягаясь, управлять всем процессом, находясь в приятной для себя обстановке. Однако, без LAN турниров, если мы хотим развивать киберспорт в общем, и эту дисциплину в частности - никак не обойтись хотя потому, что:

  1. только на LANе можно гарантировать, что играет тот же человек, который был заявлен в составе команды, а не другой, более сильный игрок
  2. несмотря на то, что производители античитов с пеной у рта утверждают, что их программа лучше прочих позволяет контролировать, использует ли человек чит, или нет, стоит учитывать русскую поговороку: "На всякую хитрую ж..пу с левой резьбой, найдется свой винт". Переводя, скажу - это означает, что под любой анти-чит найдется свой чит.
  3. LAN-турнир - это не только соревновнования, но и живое общение игроков, организаторов и просто сочуствующих между собой. Мы все, все же,люди, а не роботы, да и живое общение ЗНАЧИТЕЛЬНО приятнее, чем общение посредством электронных средств связи (ICQ. IRC и так далее). К примеру, довольно много идей по организацию и проведению турниров я почерпнул от игроков-участников.

Source in the Game Winter - Counter-Strike:Source.

Этот турнир в дисциплине Counter-Strike:Source был на грани провала (19 февраля в пятницу, свое участие подтвердили лишь 5 команд), несмотря на всяческие заманухи в виде бэджей, наградных чеков, зоны для зрителей в баре Святогор и обещание нормальной фотогалерии - активность сурсеров, за исключением комментариев (2 мегабайта страничка турнира весит - http://sng.by/tours/73.html), была крайне низка. В итоге, к вечеру пятницы, Виктор 'Чака' Корнеев, при помощи уговоров и еще неизвестно чего, довел количество команд до 7, после чего обратился к команде SnG/maxigame.by/ с предложением поучаствовать в турнире, а потом, и ко мне - с идеей организовать команду администрации, для создания массовости, так сказать.
В итоге, турнир состоялся, в нем приняли участие 9 команд (хи-хи-хи, сказал Аццик) - репортаж о турнире опубликован тут: http://sng.by/articles/431.html. К сожалению, свои обещания, за исключением фотогалереи, мы сдержать не смогли. Единственное, что может нас извинить - то, что мы предполагали, что чемпионата не будет, а изготовление бэджей, наградных чеков, подготовка бара - это время (необходимо около 2х суток на все про все).

Технически, турнир прошел хорошо - сервера не лагали, SourceTV работал, и даже, в начале турнира, собирал около 60 зрителей. В отличии от CS 1.6, где зрители на HLTV подтягиваются ближе к финалу, на CS:S получилась диаметрально противоположная ситуация - пока играли групповую стадию - зрители были, а потом, в плей-офф, зрителей становилось все меньше и меньше.
Я тоже поиграл в эту игру, под ником "Добрая турель" - в Counter-Strike:Source все настолько яркое и подвижное, что заметить оппонента очень сложно, и я их просто не видел. Что привело к тому, что я просто был балластом. Финал этого турнира, как, впрочем и прошлого Source in the Game состоял из двух команд, пришедших из CS 1.6 (Lambordzhini, они же K29 (победители белорусских отборочных на ASUS Winter 2010 CS Masters) и SnG/maxigame/by/)просто для удовольствия.

Мои выводы из этого турнира:

  • в очередной раз я убедился, что для серверов не стоит использовать процессора AMD - несмотря на внушительные характеристики и хорошую производительность в различных бенчмарках, не получается на одном компьютере запускать 2-3-4 и более серверов CS:S ("проседают", как выражаются игроки)
  • Counter-Strike:Source в Беларуси (да и во всем мире) до сих пор находиться в зачаточном состоянии. Как сказал один из активных участников Source, 'Батя' - "Мы еще не проголодались по ЛАНам". Вероятно, следующий турнир состоится лишь осенью, а может быть - даже зимой.

2

Просто краткое содержание моего блога, со ссылками на посты и кратким описанием

Подсмотрел у знакомого, и решил добавить у себя: просто краткое содержание блога с теми записями, что написал я сам в порядке их появления...


Жизнь сисадмина

Просто сумбур но: "Ввиду того, что идея о том, чтобы использовать WordPress как блог-платформу для SnG.by провалилась – я решил сделать из этого свой блог, который будет рассказывать о моей сисдаминской жизни, и, смею надеяться поможет кому нибудь"

Крос-постинг на блог платформы

Продолжая поиски способов продвижения портала, я наткнулся на преинтереснейшую, и, что очень важно, не требующую материальных вложений идею кросспостинга на популярные блог платформы.

Крос-постинг 2

В продолжении тему кросс-постинга…

Почему становяться голубыми...

Поразивший меня пост

Все застыло - или о том, какую чушь я несу

Совсем все остановилось, только оффлайн работа (подготовка к крупному соревнованию на уровне отборочных WCG), а в SEO – +10 тИЦ.
Просто сижу и ничего не делаю

Counter-Strike 1.6 - Онлайн чемпионат

Что такое для меня, сисадмина компьютерного клуба онлайн-чемпионат, или – как прошел этот день моей жизни…

Вампиры Елены Завгородней

Классные картинки про вампиров, просто копипаст с nnm.ru

Киберспорт - SnG CS Winter

Сегодня, как впрочем и завтра, LAN-турнир в дисциплине Counter-Strike, что значит, что мы на 2 дня тут, в клубе зависли…

А. Лукашенко ограничит доступ в Интернет?

Или он и правда думает, что таким образом можно соблюсти авторское право?

Необъяснимые находки

Интересные штуки иногда находят в земле. И непонятно, как к ним относиться – то ли шутка археологов, то ли, и правда, раньше была на земле цивилизация, достигшая невиданных (для нас) высот.

Война ботнетов

Война в киберпространстве, пока что бескровная, но со своими жертвами, все ближе и ближе…

Сага о пакете

Небольшая ода двум маленьким пакетикам от Call of Duty: Modern Warfare, которые испортили весь кайф 60 человекам, желавшим понаблюдать за малым финалом лузеров ASUS Winter 2010 CS 1.6 QL BY

Как творить?

Можно ли научиться творить на заказ, или это исключительно врожденная черта?

Небольшая ода двум маленьким пакетикам от Call of Duty: Modern Warfare, которые испортили весь кайф 60 человекам, желавшим понаблюдать за малым финалом лузеров ASUS Winter 2010 CS 1.6 QL BY

Сегодня, 14 февраля (кстати, с Днем всех влюбленных), наш киберспортивный проект Sport in the Game организовал отборочные на ASUS Winter 2010 CS 1.6 Masters.
Видимо, из-за того, что это праздничный день, да и финал в Москве поставлен на рабочий день в Беларуси - 23 февраля, в турнире приняло участие всего 12 команд.
Все шло как обычно, единственное отличие от предыдущих чемпионатов состояло в том, что с HLTV вообще не было проблем, мы играли, наша команда в Москве проигрывала всем :-(, и вот, наступил знаметельный момент: малый финал лузеров Ultimo/propoker.by/ (или LastChance) vs vit-A-min.CosmosTV @Dust2.
В принципе, сама по себе эта игра была бы интересна, но особенно накалял ситуацию тот момент, что проигравший выбывал из турнира, заняв четвертое, непризовое место. Тем временем, в клубе уже появились свободные машины, и, что немаловажно, появились клиенты, желающие заплатить за время на этих машинах. И вот, старт игры - все пишут Ready, но тут же образуется незадача - на той же машине, где находиться сервер этой игры - работает файл-сервер всего клуба, откуда запускается львиная доля игр. Из-за того, что уже пришли клиенты и запустили свои игрушки - подскочил пинг и пришлось перевести команду на другой сервак. И надо же было прямо в этот момент случиться такой незадаче - Call of Duty MW, запущенный одновременно со Steam сгенерировал пару пакетов на HLTV ретранслятор на порт 27005. Естественно, последний их просто не понял, но исправно переслал дальше, чем и уложил всю ретрансляционную сеть. А так как демка была важнее, чем трансляция, мною было принято решение ничего не перезапускать и оставить все как есть (если просмотреть логи HLTV - видно, что было сгенерировано и отправлено всего 15 пакетов от двух машин).

Вот так вот, 15 маленьких пакетов байтов испортили кафй от просмотра где то двумстам зрителям.

Мораль сей басни такова - не стоит допускать клиентов во время чемпионатов, или же нужно научиться как то нивелировать сей неприятнейший момент.