Как сделать свой сервер для Онлайн игры?
Собственно всем привет! Я новичок и не знаю почти ничего, но очень прошу вас, помогите мне со всем разобраться в частности с тем, как и что нужно, для того чтобы сделать сервер Онлайн игры (Игра R2 Online).
#1
23:58, 4 июля 2008
ну. сначала надо пойти учиться.
#2
7:57, 5 июля 2008
DragonOfWar
Нужно разобраться во всех нюансах, касающихся обычных игр, кроме того нужно изучить какую-нибудь серьезную СУБД, например MSSQL или MySQL, освоить сетевые технологи для той платформы, под которую будешь писать, должен знать технологии уплотнения информации и иметь потрясающие способности к оптимизации.
Вообще много вас таких. Придут неоткуда, покричат, что хотят МеГО ИгрУхУ написать, и обязательно ОнлАйН. Да так чтоб Линейка сдохла. Придут, поболомутят воду и исчезают.
Может сначала тетрис напишешь?
#3
10:23, 5 июля 2008
D-Prince
а фиолетово, если человек ничего не знает в этом, то сперва изучать.
#4
10:24, 5 июля 2008
DragonOfWar
Фанаты бывает ковыряются в игровом протоколе, разбирают защиту GG, пишут свои собственные сервера на Java. Насколько мне известно, у LineAgeII есть один «чистый» серверный шаблон, на котором любители собирают собственные сборки. Впрочем, разработчики этого не одобряют. Reign of Revolution относительно молодая игра, про любительские сервера не слышал, наверно их еще не успели сделать. Ковыряние в ресурсах игры обычно запрещается лицензионным соглашением, и если создание аддонов или модов не предусмотренно разработчиками, то есть риск быть привлеченным к уголовной ответственности. Поэтому прежде рекомендую ознакомиться с лицензией. Одного желания и любви к игре мало будет.
#5
17:13, 9 июля 2008
вот интересно сами авторы понимают тупость вопроса? вот точно такой же жизненый пример:
«Собственно всем привет! Я новичок и не знаю почти ничего, но очень прошу вас, помогите мне со всем разобраться в частности с тем, как и что нужно, для того чтобы собрать машину (Роллс-Ройс).»
#6
17:16, 9 июля 2008
Zhbanito
+5
- Luchaninov aka Yoric
- Новичок
#7
13:05, 25 июля 2008
Блин какие все «умные» — человек спросил, нормально ответить нельзя?
Думаю что разрожусь статейкой по данному поводу, по следующей причиной: «Не надо думать в рамках, самими же поставленых ограничений»
Вам совершенно не обязательно понимать как все работает до строчки. Можно просто разобратся как все должно работать и натягать куски примеров бесплатного кода.
Используйте подход для упровления любым проектом: «Начальник не должен знать как все работает, он должен понимать кто что умееет и умело пользоватся этим». Если вы не знаете у кого спросить поищте в интернете.
Обосную что говорю.
1) Я не програмист — игры мое хобби
2) Я состоявшийя человек — интересная работа, семья. И по специфике своей работы я очень часто вынужден искать нетривиальные решения. Может кто слышал на западе популярно такое понятие как «системный аналитик». Поэтому меня просто достали утверждения на данном форуме следующего типа: «С# сервер MMORPG написать нельзя», «ты сначало иди научись», «иметь потрясающие способности к оптимизации».
ВСЕ ЭТО НЕВАЖНО — единственное что ВАМ действительно нужно это ЖЕЛАНИЕ. При его наличии можно горы свернуть, не говоря уже о написании «какого-то» сервера.

А Вот вам пример: Сервер написаный за неделю(взялся за програмирование на C# около 2 месяцев назад) абсолютным «непрограммистом». В сервере не используется ни одна сторонняя библиотека. Части кода взяты в инете, с соблюдением всех авторских прав. (Вдруг соберусь писать игруху — они свободны для комерческого использования)
Это не фотошоп, это реальный С# «эхо» сервер АБСОЛЮТНО БЕЗ ОПТИМИЗАЦИИ, интересно чем вам не игровой сервер? Еще надо поискать «стандартную» реализацию поддерживающую такое кол-во сессий.
Использовано VS2008 Express и MS SQL 2005 Express — слава богу это пока безплатные инструменты.
От клиента поступает случайный набор данных, Из БД извлекается 2 числа в соответствующей записи клиента, клиенту возвращается их сумма(суммирование задано скриптом).
Как видите, современные технологии программирования достигли такого уровня, что в данный момент важнее понять как это должно работать, чем понять как это написать до строчки.
Надеюсь кому нибудь это поможет.
#8
14:26, 25 июля 2008
Luchaninov aka Yoric
эхосервер на кучу коннектов можно сколотить за 1-2 дня. Фичастый и понтовый — за три. Но это не игра, это даже не 0.01% игры. Сделай из своего сервера игру (его при этом придется раза три переписать, я полагаю) а потом говори, что ничего не важно. Что касается желания, которое главное, как вы утверждаете, то через два-три месяца от него не останется и следа.
Написано не исходя из пальцеобразных соображений, а по личному опыту.
- static_char
- Постоялец
Как сделать сервер для игры
Изменить язык
Полная версия
© Valve Corporation. Все права защищены. Все торговые марки являются собственностью соответствующих владельцев в США и других странах. Политика конфиденциальности | Правовая информация | Соглашение подписчика Steam | Возврат средств

Установить Steam
© 2024 Valve Corporation. Все права защищены. Все торговые марки являются собственностью соответствующих владельцев в США и других странах.
С чего начать, чтобы сделать простой сервер для игры?
Имеется мобильная игрушка.
Нужно хранить данные пользователей на стороне сервера.
И при заходе в игру один раз вытягивать профиль из БД.
С чего мне начать, чтобы это реализовать?
Главный критерий простота изучения и скорость реализации.
П.С. Я самостоятельно изучаю программирование и мне безумно это нравится, но сейчас я очень ограничен во времени и любой ваш совет будет очень-очень важен для меня)))))
- Вопрос задан более трёх лет назад
- 4530 просмотров
Собрать сервер для игр

За использование общедоступных серверов и хостингов необходимо платить. Аренда обходится дорого, поэтому в большинстве случаев люди собирают собственные сервера для игр. Для этого требуются комплектующие, знания, навыки. В материале собрана полезная информация о том, как реализовать кастомный проект и запустить его в эксплуатацию. Для примера рекомендуется просмотреть каталог серверов, чтобы понять, как он должен выглядеть. Компания ittelo.ru предлагает большой выбор вариантов по разным ценам и под различные индивидуальные требования.
Что нужно для сборки сервера?
Перед тем как выбрать сервер, стоит разобраться, что для него нужно, чтобы компьютер работал стабильно, и к нему могли подключаться пользователи. Стоит отметить, что это дорогой проект, но в будущем он окупается и выходит дешевле, чем постоянно арендовать хостинг. Домашний сервер должен располагаться в помещении с отличной вентиляцией – техника будет регулярно нагреваться, а при высоких температурах могут произойти системные сбои.
Выбор оборудования
Выбор техники зависит преимущественно от выделенного бюджета, но дополнительно необходимо учитывать еще и то, что все элементы должны комбинироваться между собой по техническим параметрам и по рекомендациям непосредственно от производителей. Если пользователь планирует разместить кастомный сервер в квартире, то дополнительно ему необходимо выполнить в помещение шумоподавление. Так получится снизить уровень шума, возникающий при охлаждении кулеров.
Шум проблематичен не только для владельца сервера, но и для его соседей как сверху, так и снизу. Если не выполнить качественную звукоизоляцию, то это приведет к постоянным жалобам или проблемам с законом.
Материнская плата
Материнская плата – это один из самых важных элементов. Он полностью должен подходить под требования пользователя. Поэтому предварительно необходимо продумать, для чего нужен сервер, сколько людей будет его использовать и насколько мощным окажется проект. К примеру, если необходимо добавить производительности, то тогда логично выбрать плату, которая поддерживает сразу 2 процессора. Если это не требуется, то допустимо сэкономить и выбрать модель с одним.
Блок питания
Для работы сервера необходим постоянный источник питания. Если в доме бывают сбои с электрической энергией, то необходимо позаботиться о том, чтобы дополнительно присутствовала зарядная станция или генератор. Дополнительно можно перестраховаться и купить источник бесперебойного питания для компьютера. Тогда при отключении он еще какое-то время будет предоставлять ток, и можно будет экологично выйти из системы или же подключить технику к генератору. Плюс блок питания защищает от перепадов в сети. Вероятность, что оборудование сгорит, уменьшается.
Видеокарты
Для части серверов главный элемент – это не материнская плата, а непосредственно видеокарта. Она требуется для того, чтобы можно было обрабатывать графическую информацию. Это не только видео, но и фотографии, символы, буквы, прочие элементы, относящиеся к графике. При создании игрового сервера как раз видеокарта и становится ключевым моментом. Если она не будет достаточно производительной, то не получится запустить плавную обработку данных, быстрый отклик. Выходит, что у части пользователей система не будет срабатывать практически моментально, а это влияет на результат игры, если она проходит в режиме онлайн.
Контроллер
Это дополнительный элемент, который необходимо установить вместе с блоком питания. Используется для того, чтобы можно было следить за показателями тока в системе. Так, если техника обнаружит перепады, то подключит резервное питание в автоматическом режиме. Шансы, что техника перегорит, на время отключится, или сервер перегреется и перестанет грамотно работать, значительно уменьшаются. Задача владельца – обеспечить бесперебойное подключение, и контроллеры с этим помогут.
Процессоры
Поскольку речь идет о создании сервера, необходимо выбрать процессор минимум на 8 ядер. Чем больше, тем лучше. Восьмиядерные считаются наиболее доступными по цене, удобству работы. Можно просто выбрать два таких модуля, чтобы нарастить мощность. Если допустима сложная схема эксплуатации, рекомендуется остановиться на модели на 32 ядра. Она будет сверхмощной и очень производительной. Необязательно, чтобы один и тот же бренд создавал как процессор, так и материнскую плату. Главное, чтобы элементы комбинировались по техническим характеристикам между собой.
Оперативная память
ОЗУ – это важный показатель при создании кастомного сервера. Он влияет на работу не только всей системы, но и отдельно компьютера. Схема действий простая – чем больше свободной памяти, тем быстрее обрабатывается информация. Минимальное количество ОЗУ, которое стоит рассматривать для деятельности – это 16 ГБ. Чем больше, тем лучше. Если проект мощный и производительный, то лучше брать от 28 ГБ и выше. Так пользователь в разы быстрее получит отклик на свои действия.
Охлаждение
Это важный момент, который необходимо решать после того, как пользователь будущего игрового сервера проведет в комнату звукоизоляцию. Поскольку охлаждающие элементы работают очень громко, без дополнительной отделки помещения не обойтись.
Есть два вида охлаждения:
- для процессора;
- для сервера.
Оба они очень шумные, но работают профессионально, без сбоев, не требуют регулярной диагностики или ремонта. Некоторые для экономии средств устанавливают только одно охлаждение для процессора. В будущем это приводит к поломкам, плюс, если необходимо будет увеличить мощность работы техники, то это не выйдет реализовать, сервер будет перегреваться и автоматически отключаться для защиты всех элементов, подключенных к электрической сети.
Жесткие диски
Чтобы расширить память, необходимо установить жесткий диск. Поскольку сервер использует огромные объемы памяти, лучше ставить 3 или 4 на 512 ГБ или больше. Для начала допустимо приобрести вариант с минимальным количеством памяти, чтобы протестировать, как будет работать система. Но как только увеличится количество пользователей или появятся новые задачи, которые должен решать сервер, требуется сразу расширяться. При недостатке свободной памяти система отключится или не будет обновляться, а это негативно сказывается на безопасности сети и конфиденциальности данных пользователей.
Коммутаторы
Коммутаторы не являются важными элементами, они скорее дополнительные. Наличие – плюс, так можно будет обезопасить работу системы. Речь идет о специальных сетевых элементах, которые еще называются свичами. В переводе это переключатель. Устройство создано для того, чтобы можно было несколько узлов компьютера соединять в одну сеть в пределах конкретного сегмента. В целом, главная задача – это переключить электрический ток или изменить его направление. Просто используя бесперебойник, такого результата добиться не получится.
Резервное питание
Резервное питание актуально, если в доме, квартире или офисе время от времени пропадает электричество без предупреждения. Единственное решение – это подключить сервер к резервному питанию, чтобы пользователи могли и дальше эксплуатировать хостинг, к которому они подключились. Техника гарантирует быструю автоматическую переброску на резервную линию, созданную в домашних условиях.
- генератор;
- зарядную станцию;
- другие источники бесперебойного питания.
Любой из вариантов предоставит ток, и электрический прибор сможет работать, пока не включится основная сеть. Время зависит от того, насколько мощное оборудование.
Реализация архитектуры сервера
Серверная архитектура существует двух типов. Первый – это непосредственно сервер, который несет ответственность за получение запросов, отправку данных пользователям. Для этого используются собственные системные ресурсы. Второй – это клиент. Он может делиться с оборудованием графическим и пользовательским интерфейсом.
Чтобы архитектура стабильно работала, нужна последовательность.
- Запустить облако.
- Рассчитать количество серверов.
- Выбрать язык программирования.
- Настроить систему контроля.
- Запустить управление версиями.
- Использовать хранилище кода.
- Создать репозиторий.
- Развернуть сервер.
- Сделать скрипт.
- Создать бэкапы данных.
- Поработать с файрволлом.
- Сохранить правила пользования.
Это классическая структура. Она может как дополняться, так и оставаться в таком виде.
Оптимизации на сервере
Серверная оптимизация нужна, чтобы повлиять на скорость, с которой генерируется страница. Время не так важно для пользователя, как для системы. От этого зависит качество графических элементов, откликов и прочих взаимодействий.
Какие проблемы решает серверная оптимизация
Какие задачи выполняет система
Быстрее загружает сайт
Позволяет странице перезапуститься, если она не отвечает более 5 секунд
Ищет и устраняет узкие места
Ускоряет переход между страницами
Подбирает параметры, ориентируясь на ресурсы
Упрощает подключение при наплыве пользователей
Выявляет причины уменьшения показателя производительности сервера
Оптимизации на клиенте
Клиентская оптимизация позволяет ускорить работу сервера, повысить потенциальную прибыль и защитить передачу конфиденциальных данных от мошенников. Используются для этого прикладные решения. Один из распространенных методов – это кэширование информации между сеансами подключения к серверу. История таким образом очищается, освобождает место для новых материалов, но при этом запоминает подключение и не требует первичной регистрации.
Что такое динамическое автомасштабирование?
Это процесс, который запускается при необходимости выделить динамические ресурсы, ориентируясь на требования показателей производительности. Метод активно используется в консольных и в компьютерных играх. Применяют его повсеместно из-за высокого качества воздействия на работу системы.
Отказоустойчивость
Это способность системного сервера полноценно работать даже в случае, если сломалась часть компонентов. Это могут быть датчики, каналы связи. Без них техника может функционировать дальше до диагностики и ремонта. Отказоустойчивость касается и отдельных модулей. Но если будет комплексная поломка, то тогда придется сразу проводить осмотр, замену деталей и полную перенастройку, а это требует времени и дополнительных финансовых трат.
Чтобы обеспечить отказоустойчивость, необходимо:
- установить специальные FC-коммутаторы;
- выполнить их настройку;
- проверить качество подключения с СХД.
После оборудование будет работать автоматически и при поломке одного из элементов даст об этом знать пользователю.
Как настроить выделенный игровой сервер
Для этого необходимо изучить базовые принципы работы сети от компьютера и научиться создавать уникальную серверную архитектуру.
Далее останется проверить комбинацию используемых элементов, прописать код, протестировать его на наличие ошибок, добавить защиту конфиденциальной информации и создать несколько программ, на основе которых будет работать хостинг. После проверки элементов запускается работа сервера, но отдельно нужно протестировать стабильность подключения к сети.