Создание информационной системы удаленного администрирования серверов онлайн-игр для ООО «Мираж»

Автор работы: Пользователь скрыл имя, 20 Ноября 2012 в 17:29, дипломная работа

Описание работы

Целью данной дипломной работы является разработка информационной системы удаленного администрирования серверов онлайн-игр для крупного сервера.
Для достижения данной цели необходимо решить следующие задачи:
изучить особенности администрирования серверов онлайн-игр и выявить основные проблемы данной области
провести анализ современных систем удаленного администрирования серверов онлайн-игр
изучить возможности языка php и его использование для взаимодействия с серверными SQL-базами
разработать информационную систему удаленного администрирования серверов онлайн-игр
разработать комплексную защиту системы от несанкционированного доступа
создать оптимальный программный интерфейс системы

Содержание работы

ВВЕДЕНИЕ
Глава 1 Аналитическая часть
Понятие серверов и их классификация
1.1.1 Аппаратное обеспечение
1.1.2 Классификация стандартных серверов
1.2 Сущность и методы удаленного доступа
1.2.1 Типы взаимодействующих систем
1.2.2 Удаленный узел
1.2.3 Удаленное управление
1.3 Понятие многопользовательских ролевых онлайн-игр
1.4 Обзор существующих информационных систем удаленного администрирования серверов онлайн-игр
1.4.1 RT Java Server Administrator v.1.0
1.4.2 La2offline Interlude 2.0
1.4.3 Off php admin by Hint
1.4.4 Интегрированная в игровую оболочку административная панель
1.5 Скриптовый язык PHP и его взаимодействие с базами данных
1.5.1 Использование
1.5.2 Синтаксис
1.5.3 Типы данных
1.5.4 Суперглобальные массивы
1.5.5 Объектно-ориентированное программирование
1.5.6 Взаимодействие с базами данных (MS SQL)
1.5.7 Недостатки языка
Глава 2 Практическая часть
2.1 Постановка задачи
2.2 Краткая характеристика предприятия ООО «Мираж»
2.3 Особенности администрирования серверов онлайн-игр
2.4 Обоснование выбора средства разработки
2.5 Разработка алгоритма решения задач администрирования серверов
2.6 Разработка структуры баз данных
2.7 Описание разработанной системы
2.7.1 Защита системы от несанкционированного доступа
2.7.2 Главное окно системы
2.7.3 Фрейм настройки записей
2.7.4 Основной фрейм управления
2.7.5 Фрейм блокирования учетных записей
2.7.6 Фрейм записей захода на сервер
2.7.7 Фрейм записей действий
2.7.8 Фрейм записей чата
2.7.9 Фрейм истории предметов
2.7.10 Фрейм поиска предметов
2.7.11 Фрейм списка предметов
Глава 3 Экономическая часть
3.1 Особенности определения экономической эффективности программного продукта
3.2 Расчет затрат на разработку и внедрение программного продукта
3.3 Расчет годового экономического эффекта и периода окупаемости
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Файлы: 2 файла

Диплом_Спиридонов.doc

— 4.37 Мб (Скачать файл)

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

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

Во многих MMORPG игроки имеют возможность создавать  внутренние объединения, члены которых  могут придерживаться определённой политики по отношению к другим игрокам  и объединениям. В некоторых играх герои при первом появлении в мире нейтральны, в других — изначально враждебны к определённым персонажам согласно сюжету игры.

В большинстве  платных MMORPG игроки приобретают абонентскую  подписку, Иногда издатели требуют  однократного приобретения копии игры. Бесплатные MMORPG можно просто скачать в Интернете [4].

В классическом варианте MMORPG делятся по трем стилям игры, но в основном сочетают в себе несколько:

  • PvE - Игрок против Окружения (англ. Player versus Environment). Игра построена на отношениях "Игрок-Мир". Взаимодействуя с игровым окружением игрок улучшает характеристики собственного персонажа и продвигается по сюжетной линии (если таковая существует).
  • PvP - Игрок против Игрока (англ. Player versus Player). Игра строится на отношениях "Игрок-Игрок", где главенствующую роль играет фактор коммуникации, противостояния и обмена игровыми предметами между игроками.
  • PvE / PvP - Сочетает в себе качества двух вышеприведенных стилей. Является базовой схемой построения современных MMORPG.
  • RvR - Организация игроков (необязательно клан) против другой группы (порой случайной) в борьбе за ресурсы игры и/или столицу противника.

1.4 Обзор существующих информационных систем удаленного администрирования серверов онлайн-игр.

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

1.4.1 RT Java Server Administrator v.1.0

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

Рисунок 1.2 - RT Java Server Administrator v.1.0

Недостатки системы:

  • совместимость только с серверами на платформе Java
  • отсутствие средств поиска (только сортировка)
  • слабые средства администрирования
  • необходимость использования дополнительных средств администрирования

1.4.2 La2offline Interlude 2.0

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

Недостатки системы:

  • совместимость только с серверами на платформе Java
  • может использоваться только для одного сервера
  • возможности поиска очень сильно ограничены
  • включает в себя лишь основной набор функций
  • низкий уровень защиты от несанкционированного доступа

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

1.4.3 Off php admin by Hint

Мультифункциональная  система администрирования серверов онлайн-игр для офф платформы. Данная система является одной из лучших среди бесплатно распространяемых систем администрирования. В состав Off php admin by Hint входят относительно неплохие возможности поиска,  редактирования,  добавления и просмотра информации с серверных баз данных SQL. В достаточной степени реализованы и средства администрирования, в частности блокировка и разблокировка аккаунтов (учетных записей пользователей). Единственным серьёзным недостатком системы является сложнейшая адаптация к тому или иному серверу.

Недостатки  системы:

    • конфигурация и настройка системы требуют профессионального подхода
    • недостаточный для крупных серверов уровень защиты
    • отсутствует поддержка мультисессионого режима
    • отсутствуют возможности разграничения полномочий
    • отсутствуют средства контроля над действиями пользователей в системе (протоколирование)
    • включены лишь наиболее важные возможности администрирования

1.4.4 Интегрированная в игровую оболочку административная панель

Административная  панель включена в серверную сборку и не требует дополнительных настроек (Рисунок 1.3).  В состав основного меню входят кнопки доступа к подменю. Панель имеет множество возможностей администрирования и управления сервером, таких как:

  • настройка виртуальных магазинов
  • настройка улучшений предметов
  • возможность создания предметов
  • менеджер персонажей
  • менеджер сервера
  • блокировка/разблокировка аккаунтов (учетных записей пользователей)
  • применение временных санкций к персонажам (например, блокировка чата)

Рисунок 1.3 - Интегрированная административная панель

Недостатки  системы:

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

1.5 Скриптовый язык PHP и его взаимодействие с базами данных

PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста», англ. Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») — язык программирования, созданный для генерирования HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP — «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)) [5].

1.5.1 Использование PHP

В области программирования для Сети, PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.

Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.

В настоящее время PHP используется сотнями тысяч разработчиков. Порядка 20 миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.

1.5.2 Синтаксис

Синтаксис PHP подобен  синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы  и цикл foreach, заимствованы из Perl [6,9].

Для работы программы  не требуется описывать какие-либо переменные, используемые модули, и  т.п. Любая программа может начинаться непосредственно с оператора PHP.

PHP исполняет код, находящийся  внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном, это используется для вставки PHP-кода в HTML-документ.

Помимо ограничителей <?php ?>, допускается использование дополнительных вариантов, таких как <? ?> и <script language="php"> </script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <% %> ( конструкции <? ?> и <% %> могут быть выключены в конфигурационном файле php.ini ).

Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Переменные обрабатываются в строках, заключённых в двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).

PHP рассматривает переход  на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев.

PHP поддерживает три типа  комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).

1.5.3 Типы данных

PHP является  языком программирования с динамической  типизацией, не требующим указания  типа при объявлении переменных, равно как и самого объявления  переменных [7]. Преобразования между скалярными типами зачастую осуществляется неявно без дополнительных усилий (впрочем PHP предоставляет широкие возможности и для явного преобразования типов).

К скалярным  типам данных относятся

  • целый тип (integer),
  • вещественный тип данных (float, double),
  • логический тип (boolean),
  • строковый тип (string)
  • специальный тип NULL.

К нескалярным  типам относится

  • «ресурс» (resource),
  • массив (array)
  • объект (object).

Диапазон целых  чисел (integer) в PHP зависит от платформы (обычно это диапазон 32-битных знаковых целых чисел, то есть от −2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7×10-308 до ±1.7×10+308).

PHP предоставляет  разработчикам логический тип  (boolean), способный принимать только  два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический  тип число 0, пустая строка, ноль в пустой строке «0», NULL и пустой массив считаются FALSE. Все остальные значения автоматически преобразуются в TRUE.

Специальный тип NULL предназначен для переменных без определённого  значения. Единственным значением данного  типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().

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

Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется.

1.5.4 Суперглобальные массивы

Суперглобальными  массивами (англ. Superglobal arrays) в PHP называются предопределённые массивы. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т. п.) [8].

Все суперглобальные  массивы кроме $GLOBALS и $_REQUEST имеют  устаревшие аналоги с длинными именами, которые доступны вплоть до пятой версии PHP (в шестой версии планируется их исключение). Таким образом, обращения $_GET['year'] и $HTTP_GET_VARS['year'] идентичны.

$GLOBALS

Массив всех глобальных переменных (в том числе  и пользовательских).

$_SERVER (устаревший аналог — $HTTP_SERVER_VARS)

Содержит переменные окружения, которые операционная система передает серверу.

$_ENV (уст. $HTTP_ENV_VARS)

Текущие переменные среды (англ. Environment variables). Их набор специфичен платформы, на которой выполняется скрипт.

$_GET (уст. $HTTP_GET_VARS)

Содержит параметры GET-запроса, переданные в URI после знака  вопроса «?».

$_POST (уст. $HTTP_POST_VARS)

Ассоциативный массив значений полей HTML-формы при  отправки методом POST. Индексы элементов  соответствуют значению атрибута name элементов управления HTML-формы.

$_FILES (уст. $HTTP_POST_FILES)

Ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет  индекс идентичный значению атрибута «name» в форме и, в свою очередь, также является массивом со следующими элементами:

РЕФЕРАТ.doc

— 29.50 Кб (Просмотреть файл, Скачать файл)

Информация о работе Создание информационной системы удаленного администрирования серверов онлайн-игр для ООО «Мираж»