Пишу сервер с 0 на c# - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Игровой клиент

Игровой клиент Есть вопросы по поводу редактирования dat, utx и других файлов клиента, пожалуйста, задавайте их здесь.
Описание темы:Тут буду описывать проблемы\вопросы

Ответ
Опции темы
Непрочитано 04.06.2016, 05:18   #1
Аватар для krisadr
Пользователь

Автор темы (Топик Стартер) Пишу сервер с 0 на c#

Дальнейшее развитие проекта будет описываться на данном форуме.

И так поехали.
Немного лирики, можно не читать.:
Свернуть ↑Развернуть ↓

Дальше последует несколько вопросов, я в принципе и сам их могу решить но хочется узнать что другие об этом думают.
Сериализация вместо Mysql:
Свернуть ↑Развернуть ↓

Модель передвижения и PathFinding с Геодатой:
Свернуть ↑Развернуть ↓


Про экономику:
Свернуть ↑Развернуть ↓


Взаимодействие игроков:
Свернуть ↑Развернуть ↓


Оживление Неписей:
Свернуть ↑Развернуть ↓


Про классы:
Свернуть ↑Развернуть ↓


ПВЕ:
Свернуть ↑Развернуть ↓


Дроп:
Свернуть ↑Развернуть ↓


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

PS за ранее прошу прощение за местами не грамотно составленные реч обороты и тп. Честно говоря устал строчить)
И да я в данной теме не ищу ни спонсоров ни сотрудников.

Последний раз редактировалось krisadr; 15.06.2016 в 00:47.
krisadr вне форума Ответить с цитированием
Непрочитано 04.06.2016, 08:03   #2
Пользователь

По умолчанию Re: Пишу сервер с 0 на c#

проект умрет на стадии "идея"
слишком много работы для 1 человека
только на один "сервер с нуля" уйдет больше года (написание\отладка\тесты)
HiredKiller вне форума Ответить с цитированием
Непрочитано 04.06.2016, 08:15   #3
Аватар для Hack
Пользователь

По умолчанию Re: Пишу сервер с 0 на c#

Цитата:
Как считаете, ведь по идеи (и по тестам) сохранение\восстановление состояний объектов в бинарный файл в десятки раз быстрее нежели коннект к мускулу и SELECT нужных параметров для дальнейшего восстановления объекта. Так может все таки использовать сериализацию?
Зачем? У кого-то сейчас есть проблемы с производительностью ла2 серверов? Стоит ли эта "оптимизация" того геморроя, который ты получишь в итоге? Очевидно нет.

Цитата:
Потом эту дистанцию делим на кусочки, с учетом, скорости персонажа, чтобы один кусочек был равен расстоянию пройденному за 200 мс (чисто на абум - может такая точность и не нужно но пока пускай будет так) для того чтобы сервер каждые 200 мс знал где находится персонаж.
А ValidatePosition уже не в моде?

Завязывай страдать фигней.
Hack на форуме Отправить сообщение для Hack с помощью Skype™ Ответить с цитированием
Непрочитано 04.06.2016, 08:38   #4
Пользователь

По умолчанию Re: Пишу сервер с 0 на c#

Вставлю свои 5 копеек.
Сериализация на самом деле не такая уж и быстрая операция(а вдруг структура классов изменится?). Потом, как время от времени хотя бы сохранять данные? И не дай бог случайно что случится с сериализованным файлом, его уже не десериализовать, а БД даже частично битую можно потрудиться, да восстановить. Может и не использовать БД настолько агрессивно, как её используют сервера, а заюзать ентити фреймворк + фаербёрд(говорят новая версия чуть ли не в 5 раз быстрее предыдущей), сам ентити позволит без особого труда не описывая каждый апдейт, инсерт и ремув делать с базой то, что вам надо на ходу. Причём делать это всё можно в определённые промежутки времени(раз в 5-30 мин, к примеру), а сами вычисления делать и сохранять в оперативную память(линки,это во много-много раз быстрее работы с БД и вообще с винчестером). Грамотно построенные выборки линков работают просто моментально + дата контекст облегчит выборку и апдейт значений в готовые классы, да и самим ентити можно сгенерить классы не описывая ничего ручками.

А вообще да, работы много. На одном энтузиазме много не наделаешь. Нужна команда, заинтересованная, а таких желающих работать за идею вряд ли сыщешь.
kpNemo вне форума Ответить с цитированием
Непрочитано 04.06.2016, 10:31   #5
Изгнанные

По умолчанию Re: Пишу сервер с 0 на c#

Цитата:
Сообщение от kpNemo Посмотреть сообщение
Вставлю свои 5 копеек.
Сериализация на самом деле не такая уж и быстрая операция(а вдруг структура классов изменится?). Потом, как время от времени хотя бы сохранять данные? И не дай бог случайно что случится с сериализованным файлом, его уже не десериализовать, а БД даже частично битую можно потрудиться, да восстановить. Может и не использовать БД настолько агрессивно, как её используют сервера, а заюзать ентити фреймворк + фаербёрд(говорят новая версия чуть ли не в 5 раз быстрее предыдущей), сам ентити позволит без особого труда не описывая каждый апдейт, инсерт и ремув делать с базой то, что вам надо на ходу. Причём делать это всё можно в определённые промежутки времени(раз в 5-30 мин, к примеру), а сами вычисления делать и сохранять в оперативную память(линки,это во много-много раз быстрее работы с БД и вообще с винчестером). Грамотно построенные выборки линков работают просто моментально + дата контекст облегчит выборку и апдейт значений в готовые классы, да и самим ентити можно сгенерить классы не описывая ничего ручками.

А вообще да, работы много. На одном энтузиазме много не наделаешь. Нужна команда, заинтересованная, а таких желающих работать за идею вряд ли сыщешь.
Хуже другое ! люди хотят сделать велосипед, когда рабочий OFF сервер, имеется в свободном доступе, оттуда тупо можно вырезать основные методы и сделать симбиоз с тем же C# или Явой, тем самым работы будет в разы меньше.
Проблема правда тут в другом, мало людей которые имеют необходимые знания и время чтобы такое пилить, но результат от такой деятельности в разы будет превосходить все JAVA подобные форки и экстендеры типа ADvExt,

Последний раз редактировалось luslighter; 04.06.2016 в 11:50.
luslighter вне форума Ответить с цитированием
Непрочитано 04.06.2016, 17:30   #6
Аватар для FaintSmile
Пользователь

По умолчанию Re: Пишу сервер с 0 на c#

Похоже, что кто-то сильно угорел по SAO и Login Horizon, но l2 его не отпускает при этом

По теме же могу сказать, что делать сервер с нуля - нулем всё и поделится. Лучше взять что-то работающее и уже менять на своё усмотрение. Там и людей можно найти в команду. Мне бы, например, было бы интересно поучаствовать в чем-то таком, даже за бесплатно, ради хобби. Так что может и найдешь людей.

Но мой совет - в таких делах всегда нужен не столько тот, кто умеет на java программировать, сколько тот, кто умеет творить чудеса со старым клиентом линейки.
FaintSmile вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 04.06.2016, 17:39   #7
Аватар для krisadr
Пользователь

Автор темы (Топик Стартер) Re: Пишу сервер с 0 на c#

Цитата:
Сообщение от HiredKiller Посмотреть сообщение
проект умрет на стадии "идея"
слишком много работы для 1 человека
только на один "сервер с нуля" уйдет больше года (написание\отладка\тесты)
Возможно вы правы, я прекрасно понимаю объем работ, и то что меня может не хватить.

Цитата:
Сообщение от Hack Посмотреть сообщение
Зачем? У кого-то сейчас есть проблемы с производительностью ла2 серверов? Стоит ли эта "оптимизация" того геморроя, который ты получишь в итоге? Очевидно нет.


А ValidatePosition уже не в моде?

Завязывай страдать фигней.
а ValidatePosition нужно только для того, чтобы понимать насколько далеко клиентские координаты от серверных... к тому же присутствует задача - знать как можно более точные координаты объекта... и боюсь выжидать 1200 мс для уточнее - слишком долго... опять же это лично мое мнение, и мне нужно чтобы сервер знал координаты каждые 200 мс движения а не 1200...

Цитата:
Сообщение от luslighter Посмотреть сообщение
Хуже другое ! люди хотят сделать велосипед, когда рабочий OFF сервер, имеется в свободном доступе, оттуда тупо можно вырезать основные методы и сделать симбиоз с тем же C# или Явой, тем самым работы будет в разы меньше.
Проблема правда тут в другом, мало людей которые имеют необходимые знания и время чтобы такое пилить, но результат от такой деятельности в разы будет превосходить все JAVA подобные форки и экстендеры типа ADvExt,
При всем уважении... но сама основная цель почему я за это взялся - саморазвитие... это прийти своей головой к решению конечной задачи, либо хотя бы понять каким образом ее можно решить... а вообще птс тут не подходит совсем... я же повторюсь я не собираюсь сделать l2... я собираюсь сделать нечто иное.
krisadr вне форума Ответить с цитированием
Непрочитано 04.06.2016, 17:43   #8
Аватар для Zubastic
ZG troll squad

По умолчанию Re: Пишу сервер с 0 на c#

Многие пытались делать с нуля...пытались. Все-таки создавать архитектуру с нуля не каждый сможет, далеко не каждый.
__________________
Zubastic на форуме Ответить с цитированием
Непрочитано 04.06.2016, 17:56   #9
Аватар для krisadr
Пользователь

Автор темы (Топик Стартер) Re: Пишу сервер с 0 на c#

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

Классы объектов(model) - в них описание того или иного объекта (только лишь переменные и аналоги геттеров и сеттеров.)
Контроллеры - статические классы. для обработки взаимодействия между отдельными объектами или же между объектом и так сказать "физикой".
Например транзакция предметов - обрабатывается в контроллере.
Передвижение тоже обрабатывается в контроллере.
Менеджеры - статические классы. для "оживления" объектов, и для обработки их логики и действий. (все что связано с жизнью объектов обрабатывается в менеджерах)
Ну и классы - контейнеры - собственно все что необходимо из вне храниться тут...

В принципе стараюсь придерживаться этого.
krisadr вне форума Ответить с цитированием
Непрочитано 04.06.2016, 19:05   #10
Аватар для Zubastic
ZG troll squad

По умолчанию Re: Пишу сервер с 0 на c#

А третий раз будет иначе? Одному человеку нужно иметь железные яйца, чтобы пилить все это соло ибо в противном случае тотальный зашквар.
__________________
Zubastic на форуме Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создал сервер но друзья не могут зайти на мой сервер lineage 2 Erlan Lineage II 8 31.12.2013 02:43
Пишу эмулятор L2L Hakazator Курилка / Yak floor 7 01.09.2012 13:27
Пишу эмулятор L2D. Hakazator Курилка / Yak floor 37 01.09.2012 13:07
Пишу евент (Буду просби помощи писать сюда) La2Riviera Работа со скриптами 8 01.04.2012 18:37
Гейм сервер не видет логин сервер. Scopa Lineage II 6 29.06.2009 19:55


© 2007–2019 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 23:53. Часовой пояс GMT +3.

Вверх