Отличия ПТС сервера и Ява сервера
Что такое ПТС сервер и что такое Ява сервер
автор Vizavi.
Сегодня мы поговорим о том, что вообще такое ПТС и что такое Ява применительно к Lineage 2, чем они отличаются и в чём похожи, какие хроники игры на каких серверах существуют, и кто этим всем занимается.
Просматривая описание какого-либо фришного сервера, вы наверняка замечали в этом описании такие строки, как «Официальная ПТС платформа» или «Ява платформа», но что это означает?
ПТС (PTS — Public Test Server) — Публичный Тестовый Сервер (ПТС), так разработчики называют сборку сервера, которую они перед каждыми новыми хрониками устанавливают и дают игрокам побегать по нему, поискать баги и т.п.. То есть например в 2006-м году были действующие хроники C4, люди играли на серверах этих хроник, а разработчики придумали хроники Chronicle 5. Перед тем, как запускать новые хроники, и ставят тестовый сервер. Написан такой сервер на языке программирования C++.
Хотя владельцы ПТС серверов и заявляют, что у них «Официальная ПТС платформа», и утверждают, что у них всё работает как на официальном сервере, это далеко не так. Рассмотрим это на примере сборки Интерлюд. Ближайшая к интерлюду слитая у корейцев сборка это C4, дальше есть только сборка ПТС от Грации Финал. То есть нет кода для хроник Ц5, Интерлюд, Камаэль, Хеллбаунд и Gracia part 1 & 2. Как получить играбельную сборку Интерлюда? Надо или добавлять контент в Ц4, или вырезать контент из Грации Финал. Согласитесь, ни то, ни другое не будет «официальной платформой». Ведь прошло много времени, за это время разработчики много что поменяли, и никто не знает как точно (в цифрах) это работало именно на Интерлюде.
Ява (Java) сервер — время от времени появляются умельцы, которые переписывают весь контент игры на другом языке программирования, а именно на Java, откуда собственно и пошло название «Ява сервер».
Хотя и существует такое мнение, что ПТС это самое лучшее, что может быть, а Ява фигня, я бы столь категорично утверждать не стала бы. Есть и вполне играбельные ява сборки, есть и кривые ПТС сборки. Однозначно можно утверждать только то, что ПТС написан на C++, а ява на Java, остальное мы рассмотрим ниже.
Возникает резонный вопрос — а откуда же берутся эти ПТС сборки? А всё просто — их сливают у корейцев. Каким способом, нам здесь неинтересно знать, просто кто-то получает доступ к серверу и скачивает его. Всё было бы легко, если бы слили сборки всех хроник, но это далеко не так. Слитые сборки можно пересчитать по пальцам, и свободных пальцев ещё много останется. Давайте разберём этот вопрос конкретно по хроникам.
Хроники C1. Переделана из слитой сборки C4, популярностью особо не пользуется. Есть замечательный человек с ником Smeli, фанат этих хроник, который и сделал эту сборку. Раньше мы часто с ним общались, когда на одном из серверов стояла его сборка, но и сейчас время от времени переписываемся.
Хроники C4. Первая слитая у корейцев ПТС сборка. Сервера с этой сборкой существуют, но не особо популярны. Можно сказать, что наиболее приближена к официальной игре этих хроник. Основа для переделывания под хроники выше.
Хроники C5. Серверов Ц5 практически нет, так как очень сложно разделить контент этих проходных хроник от контента Интерлюда, слишком уж много изменений введено за это время. За всё время появлялась несколько раз информация по открытию Ц5, но это были зарубежные сервера, и идти смотреть, что там и как реализовано, не было никакого желания, тем более никто и не знает, как это всё работало в хрониках Ц5.
Хроники Интерлюд. Одни из самых популярных хроник, и одни из самых неоднозначных по части точности повторения, так как эти хроники никто не смог слить. Существующие рабочие сборки Интерлюда сделаны или путём добавлением контента в слитую сборку C4, или собранной с нуля то ли самими написанной, то ли путём выдирания кусков кода, или путём выпиливания лишнего контента из слитой сборки Грации Финал. Ну или Ява сборки. Несмотря на дикую популярность этих хроник, косяков на них достаточно много, игроки постоянно предъявляют админам претензии, а админы, недолго думая, выдирают куски кода из слитой ГФ и вставляют в интерлюдовскую сборку, плодя и без того множество ошибок. При этом у них аргумент такой: «мы посмотрели по базам, скилл не менялся с Ц4 и до ГФ, поэтому его можно вставить в Интерлюд». Никто, кроме разработчиков, не знает и не может ТОЧНО утверждать, менялось ли что-то или не менялось. Далеко не все изменения включались в патчноты, а те, что включались, не отражают в цифрах эти изменения. Примеры можно посмотреть здесь: официальные патчноты от хроник C5 до Interlude.
Хроники Kamael. Хроники не популярны ввиду их проходного статуса. Никто не переделывал ПТС сервер под них, вроде бы недавно проскакивала информация об открытии сервера с этими хрониками, скорее всего это ява.
Хроники Hellbound. То же самое, что и с хрониками Камаэль.
Хроники Gracia Final. Вторая после C4 слитая у корейцев сборка ПТС. Дико популярна ввиду того, что сразу же попала в паблик и сейчас лежит на большинстве файлообменников, было время, когда каждую неделю открывыались сервера с этой слитой сборкой. Просто напичкана кучей багов и ошибок, в девственном виде неиграбельна, но это не мешает большинству админов видирать из неё куски кода и вставлять их в сборки Интерлюд, утверждая, что внесённое изменение «как на оффе, зуб даю». Рабочая сборка этих хроник сделана из слитой путём исправления множества багов и сейчас вполне себе продаётся.
Хроники Gracia Epilogue. Сделана из слитой сборки Грации Финал. Намного менее популярна, но всё равно встречаются такие сервера, и достаточно много.
Хроники Freya. Лично мной тестированная в течение месяца первая ява сборка этих хроник. Огромное количество багов и неработающего контента, был вынесен вердикт, что сборка абсолютно неиграбельна, даже после того, как мы нашли и поправили множество багов. Но админы не послушались и сборку запустили, после чего сервер успешно и закрылся.
Не знаю, переделывали потом эти хроники из ПТС грации, так как с выходом High Five про Фрею все забыли, думаю, что нет, так и осталась она в ява исполнении.
Хроники High Five. Третья слитая у корейцев сборка ПТС, что позволило бы допилить Фрею до приличного состояния, но этим никто не стал заниматься, так как High Five сама по себе стала достаточно популярной, и множество серверов стало открываться именно на этих хрониках.
Хроники GoD. Четвёртая слитая ПТС сборка, но так как это получилась совсем другая игра, мало чем похожая на тот же Интерлюд, мы её здесь рассматривать не будем.
Как отличить ПТС сервер от Ява сервера? Много чего по этому поводу писалось на разных форумах, упоминались и соски, и порядок сообщений в системном чате, и тест на «пробежал-присел», и команды с точкой в начале, но всё это неявное, тем более что ява-разработчики всё это читают и исправляют. На данный момент у меня два способа проверки. Первый из них недостаточно точный — это AI мобов, который на ява-серверах отсутствует. То есть я знаю, как ведёт себя тот или иной моб на ПТС сервере, и сравниваю его поведение на тестируемой сборке. Если оно одинаковое, скорее всего это ПТС, если другое, то скорее всего это ява. Ещё один признак, определяемый по мобам, это их респ. На большинстве ява серверов моб респится точно на том месте, где и стоял раньше. Ява разработчики пытаются что-то с этим сделать, но максимум чего они добились, это то, что моб после респа отходит на пару шагов в сторону. Причём это касается всех мобов, даже сундуков, и очень забавно наблюдать за тем, как сундук отреспился и отъехал в сторону.
Второй способ более точный, и касается он петов. Все конечно же помнят о том, что во время рейдов на босса, если РБ сагрился на кошку варлока, кошка начинает хаотично от этого РБ убегать, носясь вокруг котовода. Это ПТС сервер, на яве кошка будет стоять на месте и получать дамаг. Но можно это проверить и без РБ. Поставьте на точке телепорта одно окно, а вторым окном телепортируйтесь туда же котоводом с вызванной кошкой. На ПТС сервере сначала на точке телепорта появится кошка, практически мгновенно, так как все манипуляции с петами происходят на стороне сервера, а потом уже через некоторое время прорисуется и сам котовод. На ява сервере, кошка и котовод прорисуются одновременно спустя какое-то время, так как петами управляет не сервер, а клиент.
Ну и в заключение несколько слов о ПТС сборках Интерлюд. Не всё на них так гладко, как хотелось бы, далеко не всё. В связи с тем, что никто не знает точно, какой именно контент был на хрониках Ц5 и Интерлюд, разработчики этих сборок или не смогли что-то реализовать в полной мере, или смогли, но реализовали не так, как это должно быть.
Приведу несколько примеров, очень явных, с которыми большинство из вас сталкивалось, и не раз. Первый пример это рейдбосс Benom. Раньше его вообще никто не мог реализовать на ПТС Интерлюда. Сейчас его добавляют, но нигде он не работает так, как работал на оффе.
Ещё один явный косяк это локация Frozen Labyrinth. Пройдите по ссылке и почитайте, что я там написала, а написала я очень много, дублировать сюда нет смысла. Старые игроки говорят, что всё это сделали адвексты, но лично я сомневаюсь, так как играла ещё на старой меганетовской сборке, а фрозен был точно такой же, как и у адвекстов намного позже. Вполне вероятно, что адвексты не стали заморачиваться и просто перенесли эту локацию из другой сборки, чужой.
Ну и упомяну ещё один момент, это телепорт от внешнего гейткипера в катакомбах в локацию рифт, то есть то, что можно было в любое время любому игроку, вне зависимости от того, идёт ли неделя борьбы или неделя победы, и от того, зареган ли он в каты или нет, телепортироваться в рифт за обычную адену. Когда этот телепорт появился и в каких хрониках его убрали, и убирали ли вообще, никто не знает, но например на сборке Адвекстов, которая сейчас считается основной, такой возможности нет.
И последнее. Даже если на сервере явно написано, что например у них стоит ПТС сборка от Адвекстов, это ещё ничего не значит. Админы могут купить сборку, поставить её, а потом перестать проплачивать апгрейды, и поле какой-то даты, когда они отказались от поддержки, это уже будет не 100% Адвекст, а уже другой сервер. И хорошо, что может они сами туда не залазили, много админов после отказа от поддержки начинают сами править контент, и не всегда удачно, вводя новые и новые изменения по просьбам и требованиям игроков. До какого-то момента это себя оправдывает, но есть определённая точка невозврата, после которой игроки разочаровываются в сервере и начинают уходить.
За примерами не надо далеко ходить, вот тольно некоторые изменения, которые админы сами делают: отключение опыта в пати, если уровень игроков отличается на 20 или более (на самом деле это было сделано только на хрониках Камаэль), изменение получения скиллов аугментации с разных видов ЛСов, изменение работы скиллов, полученных от аугментации, изменение работы некоторых базовых скиллов в зависимости от того, где и на ком они используются, установка ПВП-зон на некоторых боссах и много чего ещё, ну вы и сами с этим сталкивались наверняка.
Если кто-то из читателей захочет дополнить эту статью, велком ко мне в вк, выслушаю все ваши доводы.
Источник
Что значит птс сервер л2
Приветствую всех.
Я новичок в сфере администрирования серверов л2, и хочу с нуля разобраться в работе сервера и что за что отвечает, не углубляясь на данном этапе в программирование. Мануала, который бы описывал в одном месте, что к чему, я не видел, поэтому решил попутно с изучением написать свой…так же я надеюсь, будут люди, которые помогут заполнить пробелы или поправят меня, если я не прав. Надеюсь тема лишней не будет)
PTS Server l2 — официальная сборка л2, написанная на С.
Системные требования: (взяты с какого-то сайта, честно, не помню с какого)
3. Файлы сервера по группам:
4.Описание файлов папки Script:
Надеюсь за ссылки на другие темы меня не отругают)
Рад буду если поможете восстановить пробелы и моменты выделенные красным цветом.
Планирую и дальше дописывать этот пост, добавить инфу о конкретных таблицах в базах данных, структурах *.тхт файлов и о том, о чем я еще не подозреваю.
Сильно не бейте за возможные ошибки. я ток учусь)
Спасибо за замечания, подправил)
А есть у кого возможность в паре слов описать кратко алгоритм работы сервера(во время запуска). Ну если я не далек от правды то подправьте:
1.LogD — логирование заданных в бд событий на сервере.
2.cacheD — пока заметил только, что он завязан на CachedScript\watch_list.txt, более пока не понял
3.AuthD — логин сервер — проверка вводимых ак\пас из соответствующих таблиц БД, а так же загрузка инфы о сервере из бд.
4.L2Comm — загрузка комьюнити из базы данных.
5.L2Server — загрузка в оперативную память всех итемов\скилов\геодаты\и прочего (из тхт файлов)
6.L2NPC — загрузка в оперативную память всех нпс
Источник
Что значит птс сервер л2
Для устаноки сервера Interlude PTS Вам потребуеться
1) Серверная машина с минемальными системными требованиями
AMD x64 3200
4 гигабайта оперативной памяти ( запомните это только для запуска )
Жосткий диск желательно SATA II 80 гб
2) Вам нужен Windows Server x64 желательно либо R2 или Enterprise Edition
Распаковываете сервер в любое удобное место.
Например: C:\server\.
Далее нам необходимо настроить основные конфигурационные файлы сервера:
1) Открываем AuthD\etc\config.txt
Изменяем DevServerIP=»IP» на ваш WAN IP, это ваш внешний IP адрес.
Изменяем logdip=»IP» на ваш LAN IP, это ваш внутренний IP адрес.
2) Открываем CacheD\l2cache.ini
Изменяем address=» IP» на ваш LAN IP, это ваш внутренний IP адрес.
Изменяем MailServer=» IP» на ваш LAN IP, это ваш внутренний IP адрес.
3) Открываем L2logD\l2logd.ini
Изменяем address=» IP» на ваш LAN IP, это ваш внутренний IP адрес .
4) Открываем L2NPC\ l2npc.ini
Изменяем в 4-х местах address=» IP» на ваш LAN IP , это ваш внутренний IP адрес .
5) Открываем L2Server\l2server.ini
Изменяем в 5-ти местах address=» IP» на ваш LAN IP, это ваш внутренний IP адрес.
Изменяем MailServer=» IP» на ваш LAN IP, это ваш внутренний IP адрес.
reconnectauth=1 оставляем без изменения.
В строчке WorldName=»ставим имя сервера»
Таких строчки может быть 2 в l2server.ini не забудте проверить
6) Открываем PetitionD\ PetitionD.exe.config
Изменяем key=»NoticeServiceAllowIpList» value=» IP» на ваш LAN IP, это ваш внутренний IP адрес.
Изменяем key=»AuthIp» value=»IP» на ваш LAN IP, это ваш внутренний IP адрес.
Petition – устанавливается как служба, для установки в каталоге PetitionD, есть файл install.bat, отредактируйте под свои установки.
INSTALL_UTIL_HOME = указывается путь к службе Microsoft.NET Framework.
SERVICE_HOME = путь к petition .
USER_NAME = имя пользователя Windows , возможно MSSQL …
PASSWORD = пароль доступа Windows, возможно MSSQL…
После данных настроек мы запускаем данный файл. Petiton я не запускал, т.к. не было необходимости.
На этом мы подготовили основные конфигурационные серверные файлы, теперь перейдем к настройки
SQL части сервера:
1) Открываем DBScript\2_lin2comm.sql
найдите в 3-х местах:
set @conn_str = ‘127.0.0.’ + @world_id + »’;»user»;»pass’ — возможно вы не найдёте такую строчку, попробуйте поискать set @conn_str
измените 127.0.0. на ваш LAN IP (без последней цифры)
измените user на ваш SQL аккаунт
измените pass на ваш SQL пароль
далее найдите:
‘ SQLOLEDB’, ‘ 127.0.0.1′;’ user’;’ pass’ — возможно вы не найдёте такую строчку, попробуйте поискать ‘SQLOLEDB’
измените 127.0.0.1 на ваш LAN IP
измените user на ваш SQL аккаунт
измените pass на ваш SQL пароль
2) Открываем DBScript\7_lin2world.sql
найдите в 3-х местах:
set @conn_str = ‘127.0.0.’ + @world_id + »’;»user»;»pass’ — возможно вы не найдёте такую строчку, попробуйте поискать set @conn_str
измените 127.0.0. на ваш LAN IP (без последней цифры)
измените user на ваш SQL аккаунт
измените pass на ваш SQL пароль
далее найдите:
‘SQLOLEDB’, ‘127.0.0.1’;’user’;’pass’ — возможно вы не найдёте такую строчку, попробуйте поискать ‘SQLOLEDB’
измените 127.0.0.1 на ваш LAN IP
измените user на ваш SQL аккаунт
измените pass на ваш SQL пароль
Вот сылка на него
Сюда
Для установки вам понадобиться любая программа Виртуал CD
Установка базы данных MSSQL:
MS SQL Server 2005 Enterprise Edition, устанавливаем диск с данным ПО.
Нажимаем на Server components, tools, Books Online, and samples(под красными буквами Install), потом 4 раза Next.
Если попросит серийный код то вот он. WXGDG-DJ8DJ-CC77F-8FDJV-DFBYG,
Ставим, галочки перед SQL Server Database Services и Client Components Management Tools, жмём 2 раза Next
Выбираем Use the built-in System account,во вкладке выбираем Local system, жмём Next
Крайне рекомендую нажать на Mixed Mode и ввести пароль для sa. Для базы я именно этот логин и пароль использовал, жмём 3 раза Next, потом Install
жмём Next, жмём Finish.
Установка баз в MSSQL:
Зайдите в Start -> All PROGRAMMS Microsoft SQL Server 2005 и запустите SQL Server Management Studio
Нажмите Connect, с лева выберите свой комьютер, потом на Databases. В центральном окне нажмите правой кнопкой мыши и выберите New Database.
Напротив Database name введите lin2clancomm, нажмите ОК
так проделайте и для lin2comm, lin2log, lin2db, lin2report, lin2user, lin2world.
Должно получиться 7 баз. Закройте это окно.
Или просто используйте фаил create-db.sql он автоматически создат нужные базы
Зайдите в DBScript. Нажмите два раза на 1_lin2clancomm.sql, выскочит окошко, нажмите Connect. В левом верхнем углу будет вкладка, там должно быть написано master, выберите lin2clancomm. Чуть правее будет Execute, и возле неё будет кнопка Parce. Нажмите сначала Parce, чуть подождите и нажмите Execute. После завершения операции сохраняем всё.
Аналогично проделайте для всех баз. Будьте внимательны, когда будете загружать *.sql, когда загрузите по умолчанию во вкладке будет master, выбирайте во вкладке ту базу которая соответствует своему файлу, которые указанны ниже:
1_lin2clancomm.sql . lin2clancomm
2_lin2comm.sql . lin2comm
3_lin2db_.sql. lin2db
4_lin2log.sql . lin2log
5_lin2report.sql. lin2report
6_lin2user.sql. lin2user
7_lin2world.sql. lin2world
После установки закрываем это окно .
Зайдите в Start -> All PROGRAMMS Microsoft SQL Server 2005 и запустите SQL Server Management Studio
Нажмите Connect, с лева выберите свой компьютер, потом на Databases.
Ищем там базу данных lin2db. Жмём на неё 2 раза. Находим там иконку подписанную как Tables и 2 раза нажимаем. Появиться список. Ищем в списке Server жмём на нём правой кнопкой, ищем слова Open Table и нажимаем. Добавляем следующую информацию в появившееся окошко (настраиваем под себя):
id = 0
name = такое же имя как напротив worldname в l2server.ini ip = ваш внешний IP адрес, для коннекта к вашему серверу извне.
inner_ip = ваш внутренний IP адрес
ageLimit = 0
pk_flag = 0 PK not allow; 1 allow
kind=0
port=7777
Закрываем это окно.
Установка файлового DSN, для базы данных сервера:
. ВАЖНО .
Создавать DSN нужно в папке Program Files(86), а не в Program Files.
Пуск->Настройка-> Панель управления-> Administrative Tools -> Data Sources (ODBC)
Ищем закладку Файловый DSN, нажимаем на неё и там нажимаем на кнопку Добавить.
Из списка выбираем SQL Server обычно в самом низу и жмём Далее
Задаём имя lin2world и жмём Далее пока не появиться окошко выбора сервера.
Поле Описание оставляем пустым, в нижнем поле выбираем (local)
Жмём Далее до тех пор пока не будет написано Сменить базу по умолчанию на. Ставим галку и выбираем lin2world
Такую операцию проделать для всех 6 баз, только естественно одноименных DNS
lin2comm
lin2db
lin2log
lin2report
lin2db
lin2db
Запускать только в этом порядке:
1) L2LogD.exe
File DB = lin2log
login name = Ваш SQL аккаунт
password = Ваш SQL пароль
2) CacheD.exe
File DB = lin2world
login name = Ваш SQL аккаунт
password = Ваш SQL пароль
При запуске CacheD.exe возможно попросит ввести серийный номер, для этого распаковываем архив keygens.7z в любое для вас место, далее запускаем файл CacheDSNGen.exe, для этого нам необходимо ввести:
* Mac Adress = сетевой карты
Machine Name = название вашего компьютера
Далее нажимаем Generate и получаем Serial Number.
*Для получения Mac Adress, необходимо проделать следующие, Пуск —— Выполнить ——- и набрать команду cmd, появится командная строка, в данной строке набираем
ipconfig –all и видем список сетевого оборудования, и ищем строку MAC Adress(Физический адрес) – например: 00-17-31-4F-D8-B2 это и есть наш Mac Adress, который необходим для генератора серийного номера. Также проделать для L2AuthD.exe и L2Server.exe.
3) L2AuthD.exe
File DSN = lin2db
login name = Ваш SQL аккаунт
password = Ваш SQL пароль
4) PetitionD.exe – можно пропустить данный пункт если не хотите устанавливать.
Server = (local)
login name = Ваш SQL аккаунт
password = Ваш SQL пароль
Database = petition
Создание Gm аккаунта:
Откройте таблицу builder_account в базе lin2world и добавте следуюущее:
account_name = имя вашего аккаунта (должен уже существовать)
default_builder = 1,2,3,4. 9 (уровень доступа)
account_id = ID аккаунта (можете найти в таблице user_account в базе lin2db)
Откройте таблицу user_data в базе lin2world
и поменяйте права GM’a:
builder = default_builder (1,2,3,4. 9)
Источник