|
В чем отличие сферы от пол? |
|
|
Александр Needle™ |
10.8.2017, 1:57
|
Mammy's hero
Сообщений: 1.227
Регистрация: 26.5.2009 Группа: Пользователи Наличность: 0 Из: Украина , Одесса
Пользователь №: 11.891
Возраст: 33
|
Цитата(Aimed @ 5.8.2017, 18:32) Мне кажется что все наоборот. Клиент воспроизводит то что имеется в нем по команде сервера. Игровая логика почти вся на сервере, клиент лишь рисует, играет звук\музыку.
А по сабжу:
Как тогда клиент воспроизведет то, чего в нем нет, но сервер будет давать команду?) И сервер, в некоторых случаях, не может приказывать клиенту что делать, в случае с русским текстом над персонажем. Сервер пытался навязать свои пакеты, но а клиент использовал другие. Победил клиент. Эмулятор потому так и называется ибо имитирует работу клиента, а не наоборот. Сервер лишь инструмент что бы связать все что есть в клиенте, но при этом не нарушая структуру клиента, у него тоже есть свои инструменты для работы. Если уж совсем ударится в философию, то это как "тяни и толкай" они единое целое общей структуры.
|
|
|
|
Александр Needle™ |
10.8.2017, 11:04
|
Mammy's hero
Сообщений: 1.227
Регистрация: 26.5.2009 Группа: Пользователи Наличность: 0 Из: Украина , Одесса
Пользователь №: 11.891
Возраст: 33
|
Цитата(Juzzver @ 10.8.2017, 4:03) На самом деле, скорее всего сервер мог решить данную задачу. Сервер просто посылает пакет, в котором указано какую таблицу шрифтов считывать клиенту. Таким же образом к примеру работает переключение между эрами в ранке, где пре-аос эры используют один фонт (готический стиль), а пост-аосы уже другой.
Да мог, подстроится под клиент, тупо перебрать пакеты и найти тот, который он использовал в данный момент, но использовал с ошибкой так как не было нужных данных в uo.cfg Цитата Всегда думал что эмулятор (в контексте серверов уо) это значит эмуляция официального сервера. Если взять чисто технический подход, то он эмитирует работу клиента, не важно какого официального или нет, сервер этого не знает. Тем более сколько я уже перебрал и ни один не поддерживает нормально официальный клиент, хотя столько лет прошло что давно можно было разбить поддержки на последние клиенты каждой эпохи. Хотя бы так (думаю понятно почему так): The Second Age RunUO 1.1 Renaissance RunUO 1.2 Third Dawn RunUO 1.3 Lord Blackthorn's Revenge RunUO 1.4 Age of Shadows RunUO 2.0 Samurai Empire RunUO 3.0 Но все сделано голопом по Европе, что в итоге какую эпоху не поставь летят ошибки с разных сторон. Эмуляция
Эмуля́ция (англ. emulation) в вычислительной технике — комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования) функций одной вычислительной системы (гостя) на другой, отличной от первой, вычислительной системе (хосте) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы (гостя). Целью является максимально точное воспроизведение поведения в отличие от разных форм компьютерного моделирования, в которых имитируется поведение некоторой абстрактной модели. Например, моделирование урагана или химической реакции не является эмуляцией.
|
|
|
|
Aimed |
10.8.2017, 12:02
|
Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012 Группа: Пользователи Наличность: 8677
Пользователь №: 15.607
|
Цитата(EL-GReeN @ 10.8.2017, 9:27) Всегда думал что эмулятор (в контексте серверов уо) это значит эмуляция официального сервера.
Да так оно и есть. Цитата(Александр Needle™ @ 10.8.2017, 0:57) Как тогда клиент воспроизведет то, чего в нем нет, но сервер будет давать команду?) И сервер, в некоторых случаях, не может приказывать клиенту что делать, в случае с русским текстом над персонажем. Сервер пытался навязать свои пакеты, но а клиент использовал другие. Победил клиент. Эмулятор потому так и называется ибо имитирует работу клиента, а не наоборот. Сервер лишь инструмент что бы связать все что есть в клиенте, но при этом не нарушая структуру клиента, у него тоже есть свои инструменты для работы. Если уж совсем ударится в философию, то это как "тяни и толкай" они единое целое общей структуры.
Никак. Это значит что у тебя клиент не поддерживается сервером. Что за странный вопрос? На нормальных серверах будет предупреждение, если у тебя версия клиента которая не поддерживается, а может и вовсе кик. Ты когда на шард чей-то заходишь, ты же не сервер качаешь, а клиент верно? Каждый сервер под себя может клиентские файлы затачивать как им удобно, если они умеют их редактировать. У тебя перевернутая логика получилась на основе нескольки плохих примеров. А цитата про эмуляцию точно так-же подходит под сервер. Можно назвать массу примеров где клиент не будет работать из-за не верных настроек или технических неполадок и пока ты их не починишь будет тебе давать не верный вывод. Но это повод делать вывод что клиент что-то там побеждает. Клиент выполняет ровно столько, сколько может в рамках своих возможностей(своей версии) на понятном ему протоколе. Если сервер начнет посылать пакеты которые клиентом не поддерживаются, то клиент просто идёт лесом и либо крашится, либо просто ничего не делает. В то время как игроки с клиентом, который полностью поддерживаются будут принимать эти пакеты и получать соответсвенные данные.
|
|
|
|
Александр Needle™ |
10.8.2017, 12:45
|
Mammy's hero
Сообщений: 1.227
Регистрация: 26.5.2009 Группа: Пользователи Наличность: 0 Из: Украина , Одесса
Пользователь №: 11.891
Возраст: 33
|
Цитата(Aimed @ 10.8.2017, 12:02) Да так оно и есть. Никак. Это значит что у тебя клиент не поддерживается сервером. Что за странный вопрос? На нормальных серверах будет предупреждение, если у тебя версия клиента которая не поддерживается, а может и вовсе кик. Ты когда на шард чей-то заходишь, ты же не сервер качаешь, а клиент верно? Каждый сервер под себя может клиентские файлы затачивать как им удобно, если они умеют их редактировать. У тебя перевернутая логика получилась на основе нескольки плохих примеров. А цитата про эмуляцию точно так-же подходит под сервер. Можно назвать массу примеров где клиент не будет работать из-за не верных настроек или технических неполадок и пока ты их не починишь будет тебе давать не верный вывод. Но это повод делать вывод что клиент что-то там побеждает.
Ты смотришь ситуацию со стороны пользователя, а не разработчика. Мы не разработчики клиента, мы разработчики сервера, который эмитирует работу клиента. Причем правильное выражение имитация работы клиента, а не имитация официального сервера, так как никто не знает как и по какому принципу работает их ПО, мы можем только догадываться основываясь на том, что мы видим в клиенте и играя на нем. У тебя исходный код клиента есть? - Нету. То что некоторые программы умеют добавлять или удалять из файлов клиента данные, не означает что ты разработчик клиента. Тем более что на уровне законодательства тебе запрещено это делать. И правильное выражение клиент не поддерживается сервером, именно так.
|
|
|
|
Mirage |
10.8.2017, 13:11
|
Группа: Пользователи Наличность: 0 Из: Иваново
Пользователь №: 13.089
Возраст: 35
|
Цитата(Александр Needle™ @ 10.8.2017, 12:45) Если ты зайдешь на сервер с измененной картой с помощью дефолтного клиента то по твоей логике ты бы мог пройти насквозь там где в дефолте пусто а на сервере расположено здания. Ты же его не видишь у себя в клиенте. Но сервер тебе не сможет передать координату точки "в стене" по этому клиент тебя откинет на пустом месте. Или скажем если игроки сервера ездят на драконах которых нет в твоих файлах то ты в лучшем случае увидишь раскоряченно сидящего игрока на пустом месте а в худшем клиент выбьет с ошибкой -> таким образом ты получишь подтверждение главенствования сервера над клиентом и посылания сервером "не существующих" в клиенте пакетов. (IMG: style_emoticons/default/rolleyes.gif) ЗЫ эмулятор все таки эмулирует не платформу сервера а общие черты игры что бы пользоватили у кого стоит клиент игры могли максимально почувствовать себя внутри оффициальной игры. Эмулировать работу сервера можно только обладая кодами сервера. Эмуляторы писались с использованием пойманых пакетов и облазиванием оффициалки игры. Если в новых клиентах передвинули какой то остров то это можно добавить на эмелятор и из клиента, но если поменяли как то механнику игры то систему можно сэмелировать только приблизительно разобравшись в том что авторы делали на сервере. Испечь пирожок можно таким же по внешнему виду. Но то с клубникой он или с мясом можно узнать либо разломав его (что крайне маловероятно физически с осями сделать) либо попробовав его на вкус. А уж с курицей или индейкой - разберется только обладающим тонким вкусом пользователь. А насчет клиент не поддерживается - это скорее по двум причинам 1) пережиток начала эпохи эмуляторов 2) что бы люди играли на клиенте именно к этому серверу. ПОменяв 1-2 цифры ты сможешь запустить и на сфере и на ранке практически любой клиент. Другое дело что карта городом и подземельев, предметы, существа будут относиться только к той эпохе файлы которой использует сервер при запуске. И что бы не расползалось по швам ставят защиту на использования конкретной версии клиента. как то по капитански получилось, но странно что вы спорите по очевидным вопросам.
--------------------
|
|
|
|
Aimed |
10.8.2017, 13:29
|
Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012 Группа: Пользователи Наличность: 8677
Пользователь №: 15.607
|
Цитата(Александр Needle™ @ 10.8.2017, 11:45) Ты смотришь ситуацию со стороны пользователя, а не разработчика. Мы не разработчики клиента, мы разработчики сервера, который эмитирует работу клиента. Причем правильное выражение имитация работы клиента, а не имитация официального сервера, так как никто не знает как и по какому принципу работает их ПО, мы можем только догадываться основываясь на том, что мы видим в клиенте и играя на нем. У тебя исходный код клиента есть? - Нету. То что некоторые программы умеют добавлять или удалять из файлов клиента данные, не означает что ты разработчик клиента. Тем более что на уровне законодательства тебе запрещено это делать.
И правильное выражение клиент не поддерживается сервером, именно так.
Цитата Имитация (от лат. imitatio — «подражание»): Подражание (голосу, почерка и т. д.) — уподобление кому- или чему-либо, воспроизведение, повторение, копирование. Мимесис — подражание искусством действительности. Мимикрия — метод маскировки. Каким образом сервер имитирует работу клиенту. Дай мне хоть 1 пример. Обобщенный функционал клиента: -Парсинг пакетов от сервера -Чтение и запись в клиентские файлы -Вывод данных из файлов на видео/аудио интерфейс твоего ПК. Какой из пунктов сервер имитирует?
|
|
|
|
Александр Needle™ |
10.8.2017, 13:33
|
Mammy's hero
Сообщений: 1.227
Регистрация: 26.5.2009 Группа: Пользователи Наличность: 0 Из: Украина , Одесса
Пользователь №: 11.891
Возраст: 33
|
Цитата(Mirage @ 10.8.2017, 13:11) Если ты зайдешь на сервер с измененной картой с помощью дефолтного клиента то по твоей логике ты бы мог пройти насквозь там где в дефолте пусто а на сервере расположено здания. Ты же его не видишь у себя в клиенте. Но сервер тебе не сможет передать координату точки "в стене" по этому клиент тебя откинет на пустом месте. Или скажем если игроки сервера ездят на драконах которых нет в твоих файлах то ты в лучшем случае увидишь раскоряченно сидящего игрока на пустом месте а в худшем клиент выбьет с ошибкой -> таким образом ты получишь подтверждение главенствования сервера над клиентом и посылания сервером "не существующих" в клиенте пакетов. (IMG: style_emoticons/default/rolleyes.gif) ЗЫ эмулятор все таки эмулирует не платформу сервера а общие черты игры что бы пользоватили у кого стоит клиент игры могли максимально почувствовать себя внутри оффициальной игры. Эмулировать работу сервера можно только обладая кодами сервера. Эмуляторы писались с использованием пойманых пакетов и облазиванием оффициалки игры. Если в новых клиентах передвинули какой то остров то это можно добавить на эмелятор и из клиента, но если поменяли как то механнику игры то систему можно сэмелировать только приблизительно разобравшись в том что авторы делали на сервере. Испечь пирожок можно таким же по внешнему виду. Но то с клубникой он или с мясом можно узнать либо разломав его (что крайне маловероятно физически с осями сделать) либо попробовав его на вкус. А уж с курицей или индейкой - разберется только обладающим тонким вкусом пользователь. как то по капитански получилось, но странно что вы спорите по очевидным вопросам. Ты забываешь про тот факт, что сервер использует файлы клиента, а не клиент файлы сервера. Если у тебя новая карта, это означает что ты ее изменил в клиенте, и показал это серверу именно клиент своими mul файлами определил границы для сервера, а другие просто не скачали твои измененные файлы. Простыми словами ты закрепил сервер за клиентом, взял определенную версию клиента и поддерживаешь ее, другие версии не могут быть использованы. И вопрос стоял именно в поддержке официальных клиентов, а не измененных. Повторю у Вас нет исходного кода клиента и его модификация запрещена. А теперь вопрос, клиент послал пакет с данными, сервер его принял и отправил пакет в ответ. Вопрос, откуда сервер узнал какой пакет отправить в ответ, тупо перебирал всевозможные вариант пакетов? Смешно. Их нашли в клиенте, определили что они означают и вшили в сервер в качестве ответа на определенный запрос. Сервер лишь инструмент имитации клиента. Именно клиент принимает и отправляет запросы, то как они расшифровываются уже забота сервера, в вопросе с имитацией официальных версий сервер не управляет в полном понимании этого слова клиентом, он или дает правильные ответы или неправильные. Я понимаю что у нас есть доступ менять как нам это требуется клиент, но официально это запрещено, потому правильно понимать, что клиент задает тон, а сервер его подхватывает. Будь доступ у нас к файлам клиента (я допускаю что его нет, так как это запрещено) мы бы написали сервер изначально так, как нам надо, а в клиенте по факту уже выставили рычаги, и только тогда можно было бы понимать в полной мере этого слова, что сервер управляет всем. Цитата Каким образом сервер имитирует работу клиенту. Дай мне хоть 1 пример. Подразумевалось имитация игры, не настолько глубокий смысл.
|
|
|
|
Aimed |
10.8.2017, 13:41
|
Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012 Группа: Пользователи Наличность: 8677
Пользователь №: 15.607
|
Цитата(Александр Needle™ @ 10.8.2017, 12:33) Ты забываешь про тот факт, что сервер использует файлы клиента, а не клиент файлы сервера. Если у тебя новая карта, это означает что ты ее изменил в клиенте, и показал это серверу именно клиент своими mul файлами определил границы для сервера, а другие просто не скачали твои измененные файлы. Простыми словами ты закрепил сервер за клиентом, взял определенную версию клиента и поддерживаешь ее, другие версии не могут быть использованы. И вопрос стоял именно в поддержке официальных клиентов, а не измененных. Повторю у Вас нет исходного кода клиента и его модификация запрещена.
А теперь вопрос, клиент послал пакет с данными, сервер его принял и отправил пакет в ответ. Вопрос, откуда сервер узнал какой пакет отправить в ответ, тупо перебирал всевозможные вариант пакетов? Смешно. Их нашли в клиенте, определили что они означают и вшили в сервер в качестве ответа на определенный запрос. Сервер лишь инструмент имитации клиента. Именно клиент принимает и отправляет запросы, то как они расшифровываются уже забота сервера, в вопросе с имитацией официальных версий сервер не управляет в полном понимании этого слова клиентом, он или дает правильные ответы или неправильные. Я понимаю что у нас есть доступ менять как нам это требуется клиент, но официально это запрещено, потому правильно понимать, что клиент задает тон, а сервер его подхватывает. Будь доступ у нас к файлам клиента (я допускаю что его нет, так как это запрещено) мы бы написали сервер изначально так, как нам надо, а в клиенте по факту уже выставили рычаги, и только тогда можно было бы понимать в полной мере этого слова, что сервер управляет всем.
Понятно теперь откуда ноги ростут. У тебя главный аргумент это то что эмуляторы написаны на основе того что клиент посылает и принимает. Разумеется, потому что доступ к клиенту есть, а к официальному УО серверу его нету и что-бы сделать эмуляцию УОшки приходится применять обратный инжиниринг на сам клиент. Но это не является аргументом того что мы эмулируем клиент. Эмулируем мы как раз сервер, а что-бы понять как сервер работает и строить его эмулятор(эмулятор сервера) мы используем клиент. Как раз доступ к исходному коду клиента у нас у всех есть, просто в виде машинного кода. Именно через него обычно в эмуляторах реализовано, например, чтение тех-же мул или уоп файлов.
|
|
|
|
Александр Needle™ |
10.8.2017, 13:44
|
Mammy's hero
Сообщений: 1.227
Регистрация: 26.5.2009 Группа: Пользователи Наличность: 0 Из: Украина , Одесса
Пользователь №: 11.891
Возраст: 33
|
Цитата(Aimed @ 10.8.2017, 13:41) Понятно теперь откуда ноги ростут. У тебя главный аргумент это то что эмуляторы написаны на основе того что клиент посылает и принимает. Разумеется, потому что доступ к клиенту есть, а к официальному УО серверу его нету и что-бы сделать эмуляцию УОшки приходится применять обратный инжиниринг на сам клиент. Но это не является аргументом того что мы эмулируем клиент. Эмулируем мы как раз сервер, а что-бы понять как сервер работает и строить его эмулятор(эмулятор сервера) мы используем клиент. Как раз доступ к исходному коду клиента у нас у всех есть, просто в виде машинного кода. Именно через него обычно в эмуляторах реализовано, например, чтение тех-же мул или уоп файлов.
Все верно, просто клиент это основа, которую изменить мы не можем (вообще можем, ну Вы поняли)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|