Автор работы: Пользователь скрыл имя, 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 Расчет годового экономического эффекта и периода окупаемости
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Как и в большинстве однопользовательских игр аналогичного жанра, игроку предлагается роль вымышленного героя и возможность управлять его действиями. MMORPG отличаются от однопользовательских и небольших сетевых ролевых игр множеством игроков, а также виртуальным миром, который продолжает существовать и в отсутствие игрока. Виртуальный мир поддерживается издателем игры.
В виртуальном мире игроки могут выполнять различные действия, взаимодействуя друг с другом. Существуют и управляемые компьютером персонажи, в том числе враждебные. В большинстве игр за уничтожение врагов даётся вознаграждение и начисляются очки опыта. Полученные очки опыта игрок использует для совершенствования навыков и умений героя. Вознаграждение (игровая валюта или ценные вещи) составляют основу экономических отношений между участниками игры.
Во многих MMORPG игроки имеют возможность создавать внутренние объединения, члены которых могут придерживаться определённой политики по отношению к другим игрокам и объединениям. В некоторых играх герои при первом появлении в мире нейтральны, в других — изначально враждебны к определённым персонажам согласно сюжету игры.
В большинстве платных MMORPG игроки приобретают абонентскую подписку, Иногда издатели требуют однократного приобретения копии игры. Бесплатные MMORPG можно просто скачать в Интернете [4].
В классическом варианте MMORPG делятся по трем стилям игры, но в основном сочетают в себе несколько:
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
Недостатки системы:
1.4.2 La2offline Interlude 2.0
Система администрирования
серверов онлайн-игр, предназначенная
в основном для управления небольшими
серверами с количеством
Недостатки системы:
Данная система в большей степени подойдет для новичков и на крупных комплексах серверов онлайн-игр использоваться не может ввиду множества недостатков, описанных выше.
1.4.3 Off php admin by Hint
Мультифункциональная
система администрирования
Недостатки системы:
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 подобен
синтаксису языка Си. Некоторые элементы,
такие как ассоциативные
Для работы программы
не требуется описывать какие-либо
переменные, используемые модули, и
т.п. Любая программа может
PHP исполняет код, находящийся
внутри ограничителей, таких
Помимо ограничителей <?php
?>, допускается использование
Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Переменные обрабатываются в строках, заключённых в двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора <<<).
PHP рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев.
PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX (с # до конца строки).
1.5.3 Типы данных
PHP является
языком программирования с
К скалярным типам данных относятся
К нескалярным типам относится
Диапазон целых чисел (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 («ложь»).
При преобразовании в
Специальный тип 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» в форме и, в свою очередь, также является массивом со следующими элементами: