Pull to refresh
21
0

User

Send message

Базы данных в онлайн-играх. От Аллодов Онлайн до Skyforge

Reading time7 min
Views159K
Когда говорят про разработку игр, обычно речь идет о шейдерах, графике, AI и т.д. Крайне редко затрагивается серверная часть игровых проектов, а ещё реже — базы данных. Исправим это досадное недоразумение: сегодня я расскажу о нашем опыте работы с базами данных, который мы приобрели в ходе разработки Аллодов Онлайн и нашего нового проекта Skyforge. Обе эти игры — клиентские MMORPG. В первой зарегистрировано несколько миллионов игроков. Вторая разрабатывается студией в строжайшей секретности в недрах Allods Team.

Меня зовут Андрей Фролов. Я ведущий программист Allods Team и работаю в команде сервера. Мой опыт разработки — почти 10 лет, но в игры я попал только в октябре 2009. В коллективе я уже больше трёх лет, с марта 2010. Начинал работу на Аллодах Онлайн, а сейчас на Skyforge. Занимаюсь всем, что так или иначе связано с сервером Skyforge и базами данных. В этой статье я расскажу о базах данных в онлайн-играх на примере Аллодов и Skyforge.



Читать дальше →
Total votes 203: ↑193 and ↓10+183
Comments169

Цветовое кодирование серверов

Reading time2 min
Views17K
Когда серверов мало — они очень личные. Это ТОТ сервер. А это совсем другой сервер. Подобное отношение может быть только к уникальным серверам со специфичной конфигурацией и ролю (ролями). В условиях массового использования серверов никакой личной составляющей выделить не получается, потому что если у серверов одинаковая конфигурация, то различать их очень сложно. Особо это заметно в условиях кластеров, СХД, access-level коммутаторов и хостов виртуализации.

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

Понятно, что «нужно головой думать». Но лучше всегда лишний раз предостеречься. И самым простым решением является использование цветового кодирования.

All Hail Britania!
Читать дальше →
Total votes 67: ↑60 and ↓7+53
Comments41

Wi-Fi с логином и паролем для каждого пользователя или делаем WPA2-EAP/TLS подручными средствами

Reading time9 min
Views274K
С практической точки зрения было бы удобно управлять Wi-Fi сетями, выдавая пароль каждому пользователю. Это облегчает задачу с доступом к вашей беспроводной сети. Используя так называемую WPA2 PSK авторизацию, чтобы предотвратить доступ случайному пользователю, нужно менять ключ, а также заново проходить процесс авторизации на каждом отдельном Wi-Fi устройстве. Кроме того, если вы имеете несколько точек доступа, ключ нужно менять на всех из них. А если Вам надо скрыть пароль от кого-нибудь, придется раздать всем сотрудникам новый.

Представим ситуацию — к вам в офис зашел кто-то посторонний (клиент, контрагент?), и нужно дать ему доступ в интернет. Вместо того, чтобы давать ему WPA2 — ключ, можно сделать для него отдельный аккаунт, который потом, после его ухода, можно удалить заблокировать. Это даст вам гибкость в управлении учетками, а пользователи будут очень довольны.

Мы сделаем удобную схему, применяемую в корпоративных сетях, но полностью из подручных средств с минимальными финансовыми и аппаратными вложениями. Ее одобрит служба безопасности и руководство.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments26

Прокачка debian/ubuntu сервера для маленьких

Reading time9 min
Views185K
Всем привет. Недавно появилась необходимость поднятие VPS на debian 7 за скромные деньги.
О плясках с бубенчиком я бы хотел описать тут в подробностях.
Всё в этом посте было собрано на просторах интернета, доработано, разжевано и скинуто в одну статью.


Выбор пал на https://account.nt-vps.ru/register/ из-за низких цен и неплохой стабильности за эти деньги(правда 2 дня были серьезные проблемы с сетью). Был взят VPS за 5 рублей в сутки(или за 150р в месяц) с небольшими конфигурациями ОЗУ 128mb и 10Гб на диске.

В автоматическом режиме был установлен Debian 7.0 x86-64 Wheezy и VPS была готова к работе.
64 битная сиcтема была выбрана лишь для моих личных нужд, а вам же советую, на этом VPS, ставить x86.

Далее
Total votes 159: ↑119 and ↓40+79
Comments95

Основы Python — кратко. Часть 5. Определение функций, основы.

Reading time3 min
Views167K
Начав писать главу про ООП, понял что совсем забыл освятить такой большой и нужный раздел Пайтона как функции. Тема это большая и обширная, потому, чтобы не сильно растягивать паузу между уроками, решил разделить ее на 2 части. Сначала расскажу основы, потом уже углубленные особенности Пайтоновского функциестроения.

Функции в Пайтоне объявляются не просто, а очень просто. Вот пример самой простой:

def empty_func():
    pass

Начинается объявление с ключевого слова def, что как не сложно догадаться является сокращением от define. После него идет имя функции. После имени в круглых скобках задается список параметров, в данном случае отсутствующих.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments21

Инструкция по выживанию для штатного системного администратора

Reading time7 min
Views180K

Один в поле – ИТ-директор!


image

Время от времени меня приглашают в небольшие компании чтобы «разобраться» с их единственным системным администратором. Список претензий к работе их штатного специалиста всегда примерно одинаков: медленно выполняет поставленные задачи, часто «ничего не работает», а даже был вот такой случай…
При этом зачастую уровень претензий к работе системного администратора никак не коррелирует с его уровнем технической компетенции, а, в основном, связан с отсутствием у системных администраторов минимальных управленческих компетенций, столь необходимых для работы в компании, в которой ты единственный понимающий в ИТ человек.

Вдоволь насмотревшись на совершенно незаслуженные страдания штатных системных администраторов, я решил написать эту небольшую инструкцию, которая, надеюсь, поможет им избежать конфликтов с руководством и уберет из вакансий системных администраторов такое понятие как «стрессоустойчивость».
Читать дальше →
Total votes 122: ↑117 and ↓5+112
Comments89

Лето, отпуск, asterisk или сам себе VoIP оператор

Reading time7 min
Views65K
Лето, отпуск, asterisk


Собрался я вместе со своим товарищем в период летнего отпуска поколесить на авто по Европе. А серой осенью есть мысли отправиться поближе к экватору. И вполне резонно встал вопрос связи. Skype, ICQ и прочие сервисы это конечно хорошо, но только не для старшего поколения. Жена и друзья без вопросов, а родители? Супруга сразу же сказала что передастом (человек который передает что-либо) быть не желает. Еще неплохо было бы свой номер рабочим оставить, чтоб у людей не было ощущения, что я канул в небытие. Опять же учитывая непростую роуминговую тарификацию наших операторов сотовой связи, в которой разбираться у меня нет никакого желания, сформировалось представление того, что я хочу получить в итоге.

  1. Звонки из любой точки мира по местным тарифам
  2. Прием звонков на свой личный номер
  3. Голосовые сообщения если я не доступен
  4. Голосовая почта
  5. Прием и передача смс
  6. Безопасность соединения

Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments51

Полезные мелочи в работе веб-разработчика или «Как я мог без этого жить»

Reading time4 min
Views8.4K
Злой троянец увел у меня аккаунт на хабр, после чего под моим аккаунтом начали публиковаться какие-то тупые мультики. К сожалению узнал я об этом только когда НЛО перевело меня в read-only, а рейтинг ушел в отрицательное значение. Не беда: повод наконец написать пост, который давно собирался.

Веб-разработчику консоль нужна, но не на столько что бы бросив все дела начинать читать толстенные книжки по линуксу. Именно поэтому я учился консольным хитростям от случая к случаю и, судя по моим сотрудникам, многие поступают точно так же. Раскрою пару удобных секретов, без которых я уже не могу жить.
Читать дальше →
Total votes 129: ↑116 and ↓13+103
Comments66

Сети для самых маленьких. Часть первая (которая после нулевой). Подключение к оборудованию cisco

Reading time12 min
Views649K


Тематику cisco на хабре нельзя назвать популярной, зачастую интересные статьи остаются почти незамеченными. Но нас приятно удивил ажиотаж вокруг нашей предыдущей публикации. Больше тысячи человек добавили её в избранное, и это определённо говорит о том, что продолжение необходимо.
Кроме того, много людей, имеющих опыт реального планирования и строительства сетей, делали очень правильные замечания по резервированию. Дело в том, что предложенная в прошлый раз схема сети — это макет, лаборатория, на который мы будем отрабатывать и понимать технологии, поэтому такими вещами мы не озадачивались. В реальной же жизни, особенно, если вы оператор связи/провайдер, необходимы различные схемы резервирования: VRRP, STP, Link Aggregation, протоколы динамической маршрутизации.
Все замечания мы постараемся учесть и в конце цикла, вероятно, рассмотрим то, как сеть должна строиться, чтобы через полгода после запуска инженеру не было мучительно больно.

Сегодня же мы обратимся к части немного скучной, но важной для начинающих: как подключиться, поставить или сбросить пароль, войти по telnet. Также рассмотрим существующие программы — эмуляторы ciscо и интерфейс оборудования.
Как и обещали, в этот раз всё по-взрослому: с видео.

Под катом то же в текстовой и чуть более подробной форме.
Итак, вот они приехали — заветные коробки с надписью Cisco на борту.
Что дальше?
Total votes 74: ↑65 and ↓9+56
Comments76

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

Сети для самых маленьких. Часть восьмая. BGP и IP SLA

Reading time43 min
Views649K


До сих пор мы варились в собственном соку – VLAN’ы, статические маршруты, OSPF. Плавно росли над собой из зелёных студентов в крепких инженеров.
Теперь отставим в сторону эти игрушки, пришло время BGP.

Сегодня мы
  • Разбираемся с протоколом BGP: виды, атрибуты, принципы работы, настройка
  • Подключаемся к провайдеру по BGP
  • Организуем резервирование и распределение нагрузки между несколькими линками
  • Рассмотрим вариант резервирования без использования BGP – IP SLA

Читать дальше →
Total votes 98: ↑98 and ↓0+98
Comments42

Создаём сетевую звуковую карту с преферансом и поэтессами

Reading time6 min
Views113K
Вдохновленный топиками раз и два, решил соорудить нечто похожее.

В наличии:
— Один усилитель с колонками
— Один стационарный компьютер
— Один ноутбук
— Желание слушать интернет радио независимо от двух предыдущих пунктов и перетыканию проводов

В результате родился план собрать «audio card over ethernet». Исследовав вопрос совместимости оборудования, я выбрал роутер TP-link MR3020 и USB аудио-карточку Creative SB Play.

Что из этого получилось:


О том, как это получить, добро пожаловать под кат.
Читать дальше →
Total votes 123: ↑119 and ↓4+115
Comments93

Защита систем интернет-банкинга: TLS, электронная подпись, ГОСТы, токены

Reading time3 min
Views21K
image
Многие современные системы ДБО предоставляют для обслуживания клиентов Web-интерфейс. Преимущества «тонкого клиента» перед «толстым клиентом» очевидны. В то же время существуют федеральные законы, приказы регуляторов и требования к системам ДБО от Банка России, многие из которых касаются именно защиты информации в системах ДБО. Как-то их нужно исполнять и обычно применяются криптосредства, реализующие российские криптоалгоритмы (ГОСТы). Эти криптосредства закрывают часть «дыр», но при их внедрении может существенно возрасти сложность пользования системой ДБО для клиента.

В данной статье мы из «кирпичиков» соберем и испытаем на демонстрационном интернет-банке комплексное решение — по сути специальный переносной защищенный браузер, хранящийся на flash-памяти — в котором будут реализованы закрытие канала (TLS), строгая двухфакторная аутентификация на WEB-ресурсе и электронная подпись платежных поручений посредством USB-токена Рутокен ЭЦП или trustscreen-устройства Рутокен PINPad. Фишка решения в том, что оно абсолютно необременительно для конечного пользователя — подключил токен, запустил браузер и сразу же можно начинать тратить деньги.

TLS, аутентификация и подпись реализуются с использованием российской криптографии.

Дальше пойдет мануал с пояснениями.
Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments33

Arduino: Автоматическая подсветка лестницы

Reading time4 min
Views230K
Продолжая изучать возможности платформы Arduino, решил подсветить лестницу дачного дома.

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

Цель:


«Автоматическая подсветка лестницы в тёмное время суток»


Задачи:



1) Собрать электрическую схему управления

Читать дальше →
Total votes 184: ↑179 and ↓5+174
Comments46

Tronsmart MK908 — новое поколение мини-компьютеров на 4-х ядерном чипе Rockchip RK3188

Reading time11 min
Views214K
image
После мини-компьютеров с чипом RK3066 на рынок выходит новое поколение на 4-х ядерном чипе Rockchip RK3188. Чип выполнен по 28нм техпроцессу и состоит из 4-х ядерного процессора архитектуры Cortex-A9 с частотой работы до 1.8 ГГц и видеоускорителем Mali 400MP. Видеоускоритель остался прежним от RK3066, но разогнан до частоты 600МГц. Объём оперативной памяти по сравнению с прошлым поколением увеличился вдвое и составляет 2ГБ DDR3 памяти (хотя надо заметить, что на RK3066 тоже есть одно устройство с 2Гб RAM — это CX-803-II).
Сегодня мы рассмотрим одно из первых устройств на обновлённой платформе — Tronsmart MK908. А также узнаем насколько удобно пользоваться беспроводной мышью-клавиатурой iPazzport для управления системой Android.
Читать дальше →
Total votes 86: ↑79 and ↓7+72
Comments72

Собираем CarPC на Android: недостроенный долгострой

Reading time12 min
Views400K


Моя машина меня устраивает почти всем. Есть практически все, что нужно. В комплектации блютусный телефон, кнопочный климат-контроль, электростеклоподъемники на всех дверях, подогрев сидений, подогрев, регулировка и складывание зеркал, чип-ключ, CD-чейнджер на 6 дисков, но без MP3 и линейного входа. Вот этот прискорбный факт и привел меня к мысли начать собрать свой CarPC на базе андроида. Начал рассматривать варианты и покатился… появилось много идей.
Хочу поделиться с Вами!
Total votes 150: ↑142 and ↓8+134
Comments110

Согласование действий пользователей в VMware перед их выполнением

Reading time2 min
Views3K
Вот вышли новые требования ФСТЭК России приказом №21 по части защиты перcональных данных.

Решили его применить на Заказчике (уже даже в голове говорю себе о них всегда с большой буквы), у него инфраструктура на VMware. Но вот на какое требование указала мне коллега: «Анализ потенциального воздействия планируемых изменений в конфигурации информационной системы и системы защиты персональных данных на обеспечение защиты персональных данных и согласование изменений в конфигурации информационной системы с должностным лицом (работником), ответственным за обеспечение безопасности персональных данных». Требование работает для УЗ 1, УЗ 2 и УЗ 3. Т.е. широта охвата, наверное, будет нормальная.
Как требование ложится на согласование дейстий в VMware vSphere? Добро пожаловать под хабракат.

Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments5

Знакомство с IBM Tivoli Monitoring

Reading time4 min
Views17K
Привет, Хабрахабр!

Сегодня я расскажу вам об одном из продуктов IBM для мониторинга серверов и приложений. Всегда пристально следил за публикациями по теме мониторинга и по моим ощущениям в последнее время их резко поубавилось. Ну что же, попробую хоть как-то восполнить этот досадный пробел.
Почему именно ITM (IBM Tivoli Monitoring) спросите вы, просто так сложилось, что уже на протяжении нескольких лет я занимаюсь внедрением и настройкой этого продукта и хочу поделиться своими впечатлениями о работе с ним.



Если вам интересно познакомиться с ITM или просто хочется увидеть, что же скрывается за этим таинственным окном, то прошу под хабракат.
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments21

Обзор средств синхронизации баз данных MySQL

Reading time6 min
Views16K
image

При разработке современных веб-приложений сложно недооценить пользу от использования систем контроля версий. Применительно к файлам разрабатываемого продукта, мы способны отследить любые этапы производства в любой момент, начиная с первой ревизии. Инструменты, помогающие нам в этом, на сегодняшний день популяризированы, считаются хорошим тоном при разработке, а во многих случаях успешное производство без их применения невозможно в принципе. А какие возможности мы имеем, когда возникает необходимость проследить изменения не в файлах, а в базах данных проекта? Под катом я поделюсь информацией о существующих средствах, с которыми мне пришлось ознакомиться.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments26

Создание и хранение резервных копий баз данных в MS SQL. Практические советы

Reading time3 min
Views22K
По роду деятельности я немного администратор баз данных. Так или иначе мне приходится обслуживать несколько десятков БД.
Наткнувшись на статью, опубликованную недавно, посчитал нужным дополнить ее некоторыми практическими рекомендациями. То что затрагивалось в прошлой статье, в этой опускалось.

1. Размер резервной копии


Оценить размер резервной копии можно с помощью хранимой процедуры sp_spaceused

К примеру вот такой запрос:

USE your_database;
GO
EXEC sp_spaceused @updateusage = N'TRUE';
GO

выполняется намного быстрей резервного копирования, и позволяет более-менее точно оценить будущий размер бэкапа без сжатия.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments16

Information

Rating
Does not participate
Location
Ришон-ЛеЦион, Хамеркац, Израиль
Date of birth
Registered
Activity