
Реферат по информатике
на тему:
Создание тестовых серверов
онлайн игры «Lineage II»
Студента 1 курса
ПМИ ДБ-1
Лучиновича Евгения
Для начал я хочу рассказать немного о самой игре Lineage II.
Lineage II - фэнтезийная массовая многопользовательская ролевая интернет-игра (MMORPG) для PC.
Lineage была выпущена в 1998 году. Игра была разработана южнокорейским разработчиком компьютерных игр NCSoft Джейком Сонгом (Jake Song) и вызвала множество продолжений.
Lineage представляла собой 2D игру на подобие Diablo и Ultima Online.
Lineage это одно слово. Читается оно как "линедж" и переводится как родословная или семья.
Lineage 2 является приквелом, действие которого происходит за 150 лет до событий Lineage.. После издания в Южной Корее 1 октября 2003 года, игра стала очень популярной и к марту 2007 года сообщалось о более чем 600 тыс. подписчиков. По информации NCsoft, число игроков достигает более 19 млн человек.
28 апреля 2004 игра появилась в Европе и США (издатель NCsoft).
17 июля 2008 года было объявлено, что Иннова Системс и NCsoft заключили договор на издание новой локализованной версии в России.
В конце 2008 года прошли закрытый и открытый бета-тест русскоязычной версии Lineage II, после которых игра была официально запущена, распространяясь по модели бесплатной игры с микротранзакциями. Обязательной платы за регистрацию учётной записи и игру не взимается, а продающаяся за реальные деньги специальная валюта позволяет оплачивать премиум-подписку и различные предметы из внутриигрового магазина.
В случае подключения платного Премиум аккаунта обладатель аккаунта получает удвоенное количество единиц опыта (на выпадение предметов и внутриигровую валюту с монстров не распространяется). Премиум подписка на один месяц стоит 270 рублей (в случае оплаты в долларах — 10$).
С 25 октября 2010 года, можно приобрести премиум на своих условиях.
На данный момент выпущено 19 дополнений для игры.
Самым стабильным обновлением я считаю, является Lineage II Epilog.
Общая информация об игре.
Lineage II — продвинутая в плане графического исполнения 3D MMORPG. В качестве игрового движка используется Unreal Engine версии 2.0.
Игрок не ограничивается в выборе персонажа. Выбор не предопределяет принадлежность к некоторой стороне глобального внутриигрового конфликта, подобного межрасовым войнам в RF Online или войне Элийцев и Асмодиан в Aion. Собственно, таких конфликтов не предусмотрено.
На любой учётной записи (англ. account) может быть создано до семи персонажей на каждом сервере, любой из допустимых правилами игры комбинаций расы, класса, пола и т. д. Модификация определяющих боеспособность характеристик персонажа (силы, ловкости, интеллекта и др.) на этапе создания персонажа невозможна, так что все персонажи определённых комбинаций расы и класса начинают на равных.
PvE в игре представляет ограниченный интерес для играющих ввиду его повторяемости и однообразности. Сторонники игры в качестве несомненного плюса игры всегда отмечают как раз систему PvP. Помимо этого в игре присутствует процесс PK, то есть убийства другого игрока без его согласия на атаку. Система «кармы» предполагает некоторые проблемы для игрока, решившего безнаказанно поубивать других, но принципиально атаковать других игроков запрещено только в городах и немногочисленных других безопасных зонах. То есть можно сказать, что в Lineage II действует система свободного PvP.
Враждующие кланы могут объявлять друг другу войны, смягчая негативные последствия от взаимных убийств членов одного клана другим.
В игре сделан очень большой упор на социальную составляющую. Отдельно взятый персонаж по сути не может оказать заметного влияния на мир. Поэтому на средних и высоких уровнях игроки объединяются в группы для совместного уничтожения монстров и PvP. Большую роль играет как индивидуальное умение игрока, так и командное взаимодействие, а также уровень персонажа и его экипировка. Существует даже определение Lineage II как «equipment-driven» (завязанной на экипировку) игры. Ближе к последним обновлениям возросла роль зелий и свитков, предметов одноразового использования. Кроме того, из всего многообразия классов в PvP некоторые классы имеют значительное преимущество над остальными.
То, как выглядят игровые персонажи в различной экипировке (в особенности — тёмные эльфы женского пола), породило некоторые претензии за чрезмерную откровенность. Руководитель по разработке Lineage 2 в ответ на вопрос по этой теме, уместной и относительно нового проекта (в связи с которым бралось интервью), признал факт существовавших замечаний, но ответил, что не придаёт ему большого значения.
Системные требования
Общую информацию об игре мы получили, теперь можно перейти непосредственно к серверам.
Предисловие
Для начала давайте все таки уточним, что мы подразумеваем под словами "создать lineage 2", а подразумеваем мы именно одно из этого списка:
1. Создание сервера где можно сделать себя "крутым" админом и убить всех и вся.
2. Создать сервер для себя и своих друзей, что бы не зависеть ни от кого...
3. Сорвать очень много денег на своем созданном сервере.
4. Сделать сервер, где будет все по Вашим правилам и играть будет тысячи человек.
5. Создать мир для людей, который ищут его и не могут найти...
И так далее... этот список можно продолжать целую вечность, каждый выбирает наверное свой путь, для кого-то сервер это деньги, а для кого-то целая жизнь, я рекомендую в первую очередь все таки определиться с выбором, а не идти в перед с закрытыми глазами, нужно создать план своей роботы и идти по нему.
Создавать сервере мы будем исключительно на Java-платформе, так как на сегодняшний день серверы на этой платформе самые функциональные, максимально соответствующие Off-серверу и мы не будете пересекать какие либо авторские права.
Для начала давайте все таки уточним, что мы подразумеваем под словами "создать lineage 2", а подразумеваем мы именно одно из этого списка:
Сервер - логический или физический узел сети, обслуживающий запросы к одному адресу или доменному имени (смежным доменным именам), состоящий из одного или системы аппаратных серверов, на котором выполняются один или система серверных программ.
Все серверы работают на Java-платформе, поэтому мы будем использовать программу Java Platform, Standard Edition, которая и будет запускать наши серверы.
В сервере вся информация которая происходить храниться в базе MySQL, это позволяет ей достичь наилучших результатов в скорости и стабильности работы.
С понятием Сервер мы разобрались, но какой, же мощности нужен нам сервер (компьютер) что бы игроки могли играть с удовольствием? Ориентируйтесь на вот такую системную конфигурацию:
Оперативная память (ОЗУ): 8-16 гб - для отличной работы и онлайна 1500-2000 человек.
Если вы не рассчитываете на такой большой онлайн, а допустим на ~500 человек то 2-8 гб вам вполне хватит.
Процессор: Intel Core 2 Duo-E8400 (3.00/1333/6M) как пример, можно в принципе любой 2х ядерник
с частотой около 2,5-3. Опять же это для беспроблемной игры.
Жесткий диск (винчестер): Брать нужно быстрый и качественный винчестер около 300-500 гб
Материнская плата: Брать нужно исходя из того какой процессор и оперативная память. И всегда старайтесь брать самую актуальную на момент покупки, ибо потом не сможете добавить чего то нового к Компьютеру.
Интернет канал: 100 мегабит. Опять же исходить нужно из онлайна для 100 человек хватит и 6-10 мегабит.
Допустим машина у нас есть. Теперь нужно установить на нее программы. Первое что нам нужно - это само собой ОС - Операционная система. Выберем мы ОС от известной компании Microsoft Windows.
Опытные администраторы серверов обычно используют ОС Linux, для новичков советуется использовать Microsoft Windows.
Если у вас 4+ гб оперативной памяти то вам нужно ставить Windows 64 бит ибо обычный 32 битный вам даст возможность использовать только 2 гб оперативки.
И так допустим у нас слабая машинка с 2мя гигабайтами оперативки. И мы ставим на нее обычный 32-х разрядный Windows 7.
Желательно ничего лишнего не ставить на машину! Лишние - это игры, программы и так далее.
Теперь после того как мы установили Windows начинаем ставить программы для работы сервера Lineage 2.
Нужные программы:
1. MySql - один из самых популярных в мире серверов баз данных с открытым исходным кодом. Сочетает в себе скорость, компактность, стабильность и портируемость.
(Рекомендуется MySQL 5.5.8 – самый стабильный релиз за 4 года с моей точки зрения)
2. Java Development Kit, сокращенно JDK — бесплатно распространяемый Sun Microsystems комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE).
3. Navicat Premium for MySql – мощная графическая утилита для управления и работы с базами данных MySQL, PostgreSQL и Oracle, имеющая наглядный интерфейс. Поддерживает работу со всеми версиями MySQL, PostgreSQL и Oracle, включая поддержку большинства последних PostgreSQL функций.
4. L2 FileEdit - программа служит для декодирования и изменения файлов клиента Lineage 2 (в частности файла l2.ini, отвечающего за адрес сервера)
5. Notepad++ - очень удобная программа, с помощью которой можно удобно редактировать sql Запросы, XML формат, HTML, PHP, и многие другие. NotePad Будет получше блокнота, или AkelPad и тому подобных редакторов. Рекомендую вам использовать именно этот редактор, так как он очень удобен в использовании.
Тут приведён список базовых программ, которые понадобятся только для установки и запуска «голого сервера».
(Под словосочетанием «голый сервер» подразумевается, чистая сборка сервера)
В ходе работы над сервером используется более 40 различных программ.
Например:
MySQL Backup v2.0 - создание бэкапов данных MySQL.
Multisell Creator - программа для создания мультиселлов.
Все базовые программы нуждаются в правильной установке и настройке на компьютер.
Установка MySQL 5.5.8 х64
1.Запукаем Инсталятор (Setup.exe).
2. Нажимаем Next.
3.Соглашаемся с правилам продукта. Нажимаем Next.
4.Выбираем ячейку Typical.
5.Нажимаем Install.
6. Ждем, пока установит.
7.Нажимаем Skip Sign-Up, и Next.
8. Нажимаем Finish
9.Затем в открывшемся окне нажимаем Next.
10. Выбираем Standart Configuration и нажимаем Next.
11. Устанавливаем галочки на Instaill As Windows Service.
12. На следующее окно нужно обратить особое внимание.
Там следует ввести пароль 2 раза и хорошо его запомнить.
Ставим галочку на Enable root access… и нажимаем Next.
13. Система проверяет полученную информацию и выполняет нужные конфигурации.
После проверки нажимаем Finish.
Java Development Kit – процесс установки проблем не вызывает, однако после установки программы в корневой папке следует скопировать папку clien и переименовать её в папку server.
Navicat Premium for MySql , L2 FileEdit, Notepad++ - устанавливаем со стандартными конфигурациями.
После правильной установки базовых программ, перейдём к программе Navicat.
1.Открываем программу.
2.Нажимаем File -> New Connection.
3.В окне Connection name вписеваем название (какое придумаете), в поле Host name/IP adress, Port ничего менять не нужно.
4. В поле Password пишем пароль который ставили при установке Mysql.
Ставим галочку и жмем Test Connection.
5.Далее, если все прошло удачно и данные верны, появится окно с "Connection Successful", нажимаем ОК и в окне с настройкой логина с паролем тоже жмем ОК.
6.Теперь слева в Navicat появилось соединение с названием которое вы придумали.
Жмем на него правой кнопкой и выбираем New Database, называем ее (например l2rgsu) и жмем ОК.
Теперь перейдём к самой сборке сервера.
Новички используют уже готовые сборки серверов.
Более опытные администраторы используют свои сборки, основанные на своём исходном коде.
На примере сборки сервера возьмём мою совместную сборку с командой l2nextgen .
Распаковываем архив с сервером на жесткий диск в любое удобное для вас место.
В каждой сборке должны быть 3 обязательных папки: game, login, sql
Папка Game (gameserver) – основная папка, отвечающая за файлы сервера.
Папка Login (loginserver) – отвечает за синхронизацию базы данных с серверной частью.
Папка sql(tools) – сохранённая база данных «голого сервера»
Переходим к настройке сборки сервера.
1)Заходим в папку sql. Редактируем файл database_installer.bat
database_installer.bat – в прописаны пути к базе данных.
REM LOGINSERVER
set lsuser=root
set lspass=root - вместо root введите пароль, который вы указывали при установке MySql и при подсоединении в Navicat
set lsdb=l2rgsu
set lshost=localhost
REM GAMESERVER
set gsuser=root
set gspass=root - тут аналогично
set gsdb=l2rgsu
set gshost=localhost
Сохраните и запускайте его. Серверная часть в базу данных установлена.
Открываем файл database_installer.bat и следуя инструкциям на экране загружаем логин и гейм сервер.
2) Теперь заходим в папку gams/config и редактируем файл server.properties
Login=root
Password= пишем пароль
MaximumDbConnections=50
Если хотите играть с друзьями либо сделать сервер доступным из интернета, находим: GameserverHostname= ваш ip (тут вписываете IP адрес сервера)
Если только для себя, просто пишем : GameserverHostname=127.0.0.1
3) Нужно отредактировать файл login\config\loginserver.properties
Ищем:
Login=root
Password=
И вписываем ваш пароль к базе данных.
4) Идем дальше. Переходим в папку login и запускаем файл RegisterGameServer.bat
Вводим цифру 1, потом Enter и еще раз Enter, после чего в этой папке появился файлик hexid(server 1).txt
Переименовываем его в hexid.txt, вырезаем (Ctrl+X) и вставляем (Ctrl+V) в папку gameserver\config
5) Запускаем startLoginServer.bat из папки login и startGameServer.bat из папки gams.
После проделанных действий мы видим открывающееся окно где происходит процесс запуска сервера.
(процесс может занять от 2 до 30 минут, в зависимости от серверного оборудования и ещё ряда особенностей)
Делаем клиент для игры на сервере Lineage II:
1) Берем патч от любого сервера (допустим Interlude или Kamael), распаковываем его в папку с клиентом.
2) Используем File Editor, сверху нажмите Throne – Epilog (хроники того патча что вы ставили) потом Open and encrypt. Этой программой открываем файл l2.ini из папки system вашего игрового клиента.
Найдите строку ServerAddr= и впишите нужный ip (127.0.0.1 или вашего сервера)
Теперь нажимаем save and decrypt, сохраняем его как все тот же l2.ini
Делаем себя администратором на сервере Lineage II.
Заходим опять в navicat. Слева выбирем вашу серверную базу, а справа - таблицу characters и ищем вашего персонажа В столбце Access level напротив вашего персонажа ставим цифру 200. Перезапускаем сервер.
В некоторых сборках, включая нашу, стоит автоматическая защита на получение администраторской панели в игре. Для получения доступа нужно зайти в файл gams/config/GMAccess.d/GMAccess.xml и уже в нём редактировать права.
(сохранить файл нужно в кодировке utf-8, иначе возникнет критическая ошибка на сервере и панель администратора будет не доступна)