Delphi 7 и Lineage Server
Итак, вот что я надумал. Поскольку IDE Delphi, как и Borland Pascal, обладает большинством необходимых инструментов (сокеты, коннекторы и т.д.), и НАМНОГО большей стабильностью, чем Ява, предлагаю создать что-то вроде Явы, но с ядром на Delphi. Знания в области ООП и Сокетов (TCP/UDP) имеются, а вот протокол, по которому "разговаривают" Lineage и Сервер - неизвестны. Впринципе, мог бы соорудить и один, но в команде как-то лучше. Итак, желающие, отписываемся.
ЗЫ: Администрация, если засунул тему не в тот раздел - переместите плз, но ничё более подходящего я не нашол.
Встроенные компоненты - возможно... Но ведь есть множество компонентов/модулей от сторонних разработчиков. И к тому же, я ещё не видел ни одной Ява-сборки, в которой бы не вылезало хотя бы одно сообщение об ошибке! Настройка точная, играть могу, но ошибки есть. А вот в Delphi возможно выловить ВСЕ ошибки. Итак, чего же не хватит для сервера?
1. Возможность подключения к базам данных - есть. Как к "своим", так и к удалённым, даже к мускулю можно прикрутить.
2. Создать "прослушку" порта, и "общаться" по TCP/UDP - да запросто!
Остальное можно написать самому и запихнуть в модули.
ЗЫ: Если кто-то владеет информацией по протоколу - поделитесь))
Давайте уж на чистоту:
1). Делфи - потому что Вы знаете делфи.
2). Кривизна кода определяется кривизной рук программиста, а не кривизной платформы. Джава, как платформа, используется массово на корпоративном уровне. Если Вы не разбираетесь в этом - это еше не повод кричать что-то о стабильности.
3). L2 сервера пишут все кому не лень, есть куча тимок которые совершенно ничего не понимают в джаве (HelloWorld не в счет), но орут от том какие они крутые. Ну а с таким подходом ничего не получится.
4). В джаве можно отловить абсолютно все ошибки, но ошибки надо чинить, а не отлавливать. Если для Вас отсутствие ошибок это отсутствие их вывода, то мне уже не терпится посмотреть на Ваш сервер.
P.S. Удачи в изобретении велосипеда.
Делфи это язык высокого уровня + шлакоблоки borland.
На выходе простой програмулины - exeшка с объемом от 400кб.
В отличии от других средних и низких языков (не borland) - от 5-50кб.
По своему опыту работы в делфи скажу следующее:
Идеальный инструмент для программ, утилит, офисных и бизнес приложений, и прочих интересных многофункциональных вещей.
Но...делфя НЕ подходит для создания серверов MMOG, где главную роль играет производительность.
И не спрашивайте почему...
Лучше создайте простое приложение и кнопку показывающую msgbox, и посмотрите в отладчике что будет творится.
Результат будет примерно такой: Как от москвы до китая.
А где их нельзя не выловить? :)
Вот например в С их не просто возможно выловить, а обязательно нужно.
_http://l2jserver.com
Вот исходы явы, весь протокол, крипт, логика - все в твоих руках.
+1
Абсолютно бесполезное занятие.
На написание более менее рабочего сервера уйдет год как минимум.
Лучше займитесь доработкой l2j.
— Ålderdom - ingen glädje..
+1 не стоит этим заниматся такак делфи язык для офисных задачь но не как
для серверов
сервер должен быть стабильным и не падать я думаю делфи не даст такого ,
как допустим с++ даст
Ну падать оно может и не будет в умелых руках, но и не залетает в любом случае.
— Ålderdom - ingen glädje..
Прочитал все посты... затею не оставлю. Ибо, для сервера эта платформа подходит. Если кто-то не умеет на ней работать - это ещё ничё не значит.
Производительность и относительно небольшой размер - можно достичь, поудаляв лишние модули и владея нормальным компом.
Изобретать надо всего-то навсего базу и движок, датапак можно прикрутить.
И на нормальный сервер мне времени не жалко.
Работать умею, причем года так с 2003.
На основе своего опыта я высказал свое мнение...ну а вам решать как делать и делать-ли вообще.
Не забывайте что сервер это непросто пакеты и логика - но и математика, причем за пределами 10 классов.
Потом еще и геодвижок не за горами, и формулы и прочий корейский сброд ))
Так что могу только пожелать удачи и флаг в руки разумеется :)
— Ålderdom - ingen glädje..
lElXlPlElRlTl: Изобретать надо всего-то навсего базу и движок, датапак можно прикрутить.
ОМГ. Базу то зачем изобретать? Или ты надеешься разработать более быструю СУБД, чем, скажем, Sun или MS? =)
А по поводу быстродействия: на Делфи можно написать код, почти не уступающий по быстродейтсвию сишному, другое дело - чего это будет стоить? Можно тогда вообще на Асме кодить, вылизывая каждый операнд ручками :)
ИМХО, Java - это самое удачное решение для мультиплатформенного сервера. Просто надо выучить Яву, обладая навыками ООП на любом языке плюс умением читать мануалы - это совсем не сложно.
В принцепи к тому времени, когда они допишут первый тестовый сервер появятся на столько мощные компы, что смогут держать его) эдак 64 гб оперы, стодвадцатипяти-ядерный процессор с кешом в 1 терабайт. Реально не верится, что даже бетка вашего сервера выйдет, лично я не прогер, поэтому не буду говорить, что у вас не получится.
Но смысл трогать паскаль, если есть C++, VBNet и другие мощные и одновременно щадящие машину языки.
Вообще пишите на Ассамблере), мб даже сам NcSOft купит
.
Новая OS: La2Server
ancient,
СУБД я изобретать не буду... Я говорил про саму базу. Про хранилище данных.
С математикой у меня всё в порядке.
JIexa,
Очень смешно. На самом деле, всё гораздо проще, чем ты думаешь. Или гораздо сложнее, чем думаю я... Я занимался разработкой Вэб-сервера, и даже прикрутил к нему скрипт-движок наподобие PHP. И он отлично работает. Насчёт быстродействия - не уступает Apache или ISS. Функционал - согласен, не идеал, но ведь можно доработать! Не думаю, что это будет намного сложнее...
Кстати, заметил, что тут Delphi привязывают к WinAPI... Люди, а зачем? Ведь Delphi, как таковой - СРЕДА РАЗРАБОТКИ, а WinAPI включает как дополнение. Сам сервер и обработчики можно вытащить в модули, а вывод (логи, консоль...) и управление впихнуть в одно окошко...
Leap,
Делать-то начать легко... только вот только я сейчас на стадии разбора Ява-версии... уж-больно там всё по-корейски... Хотя, кто ЛаДву разрабатывал изначально? Правильно, Корейцы... намудрили... Были бы знания - сделал бы свою MMO RPG с нуля... Но в Direct3D на уровне RPG-игр я не владею...
причем тут Direct3D всегда начинают с чего то малого... с опытом приходит лучшее=))
ps: думаю л2 уже не так актуальна как раньше... (мое мнение) хотя хз не мне судить я далек от этого еще...
lElXlPlElRlTl: Кстати, заметил, что тут Delphi привязывают к WinAPI... Люди, а зачем? Ведь Delphi, как таковой - СРЕДА РАЗРАБОТКИ, а WinAPI включает как дополнение. Сам сервер и обработчики можно вытащить в модули, а вывод (логи, консоль...) и управление впихнуть в одно окошко...
Leap,
Делать-то начать легко... только вот только я сейчас на стадии разбора Ява-версии... уж-больно там всё по-корейски... Хотя, кто ЛаДву разрабатывал изначально? Правильно, Корейцы... намудрили... Были бы знания - сделал бы свою MMO RPG с нуля... Но в Direct3D на уровне RPG-игр я не владею...
на Delphi 7 только игры удобно делать.
Он уступает C++ в скорости.
lElXlPlElRlTl: Кстати, заметил, что тут Delphi привязывают к WinAPI... Люди, а зачем? Ведь Delphi, как таковой - СРЕДА РАЗРАБОТКИ, а WinAPI включает как дополнение. Сам сервер и обработчики можно вытащить в модули, а вывод (логи, консоль...) и управление впихнуть в одно окошко...
Leap,
Делать-то начать легко... только вот только я сейчас на стадии разбора Ява-версии... уж-больно там всё по-корейски... Хотя, кто ЛаДву разрабатывал изначально? Правильно, Корейцы... намудрили... Были бы знания - сделал бы свою MMO RPG с нуля... Но в Direct3D на уровне RPG-игр я не владею...
Афтар корейци использовали unreal engine 2 движок амереканский.
Leap,
А вот тут ты меня на мыслю натолкнул... я тут посмотрел исходники Явы (точнее, MMO Core), ужаснулся... Уж проще свою ММО РПГ создать, чем ЭТО на другой язык переводить. сначала сделаю просто 2Д-игруху (кто помнит Counter Strike 2D-online? xD), потестим с друзьями... Потом доработаю 3Д движок... оформлю всё... разумеется, после более-менее стабильной 2д-версии мне понадобятся люди - дизайнеры, кард-мейкеры... но это после создания. пока что - если кто хочет помочь - есть моя ася 488341189.
ЗЫ: Добро пожаловать в Russia Online MMOG!
lElXlPlElRlTl: ancient,
СУБД я изобретать не буду... Я говорил про саму базу. Про хранилище данных.
С математикой у меня всё в порядке.
База L2J сервера чем не устраивает?
Да и не изобретают БД, её проектируют и наполняют, если уж на то пошло =)
lElXlPlElRlTl: Кстати, заметил, что тут Delphi привязывают к WinAPI... Люди, а зачем? Ведь Delphi, как таковой - СРЕДА РАЗРАБОТКИ, а WinAPI включает как дополнение. Сам сервер и обработчики можно вытащить в модули, а вывод (логи, консоль...) и управление впихнуть в одно окошко...
Бред какой... WinAPI - это НЕ дополнение и Делфи его не включает, а использует предоставленные ОСью интерфейсы. Прочитайте хотя бы вот это: http://ru.wikipedia.org/wiki/WinAPI . А ещё лучше - какую нибудь умную книжку по win-программированию.
Видимо не корректно выразился... Delphi является средой программирования, и включает в себя модули для программирования для WinAPI. Они считаются основными и используются по умолчанию при создании нового проекта. Но, как показала моя практика (с 2002 года!), использовать его не обязательно: можно создать и консольное приложение, и модуль любой сложности, и даже использовать ASM... И всё это без самой WinAPI, которую при этом можно "выкинуть" из модулей. Поднимался вопрос о "самой простой программе" весом в 400 кб... Я проверил: вывод сообщения "Hello" Действительно занимает 334Кб. Я поотключал некоторые палитры (Samples, Sockets, Win31 и т.д.) и получил маленькую программку весом в 10Кб! Я, кажется, понимаю, почему многие так негативно относятся к Delphi как к серверной среде: WinAPI сильно грузит память. Но почему бы не сделать в форме только ВЫВОД информации, а сам сервер подгрузить как модуль?
lElXlPlElRlTl: Видимо не корректно выразился... Delphi является средой программирования, и включает в себя модули для программирования для WinAPI. Они считаются основными и используются по умолчанию при создании нового проекта. Но, как показала моя практика (с 2002 года!), использовать его не обязательно: можно создать и консольное приложение, и модуль любой сложности, и даже использовать ASM... И всё это без самой WinAPI, которую при этом можно "выкинуть" из модулей. Поднимался вопрос о "самой простой программе" весом в 400 кб... Я проверил: вывод сообщения "Hello" Действительно занимает 334Кб. Я поотключал некоторые палитры (Samples, Sockets, Win31 и т.д.) и получил маленькую программку весом в 10Кб! Я, кажется, понимаю, почему многие так негативно относятся к Delphi как к серверной среде: WinAPI сильно грузит память. Но почему бы не сделать в форме только ВЫВОД информации, а сам сервер подгрузить как модуль?
Мда... По вашим словам - консольное приложение не может использовать WinAPI :D
И ещё похоже вы путаете Windows API и Borland VCL.
Итог: Вам не сервер писать надо, а изучать основы программирования =)
ЗЫ. Про "Но, как показала моя практика (с 2002 года!)," и 15 лет на данный момент в профиле я тактично промолчу ))



