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

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

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

Автор темы (Топик Стартер) запуск ядра java не через bat а через c#

Дабы не разводить демагогию зачем и почему - спрошу сразу, возможно ли подручными способами перехватывать вывод лога из ядра java и засовывать допустим в textbox того же visualStudio? (чтобы вместо консоли использовался textbox)

и пользуясь случаем - как на ваш взгляд, замена mysql на сериализацию экземляров, это совсем бредовая идея?) (поддержка сайта, статистики не интересует)

Последний раз редактировалось krisadr; 26.03.2015 в 02:04.
krisadr вне форума Ответить с цитированием
Непрочитано 26.03.2015, 05:26   #2
-

По умолчанию Re: запуск ядра java не через bat а через c#

Цитата:
Сообщение от krisadr Посмотреть сообщение
Дабы не разводить демагогию зачем и почему - спрошу сразу, возможно ли подручными способами перехватывать вывод лога из ядра java и засовывать допустим в textbox того же visualStudio? (чтобы вместо консоли использовался textbox)
В уже скомпилированную программу? Можно сделать что угодно, вот только зачем.

Цитата:
Сообщение от krisadr Посмотреть сообщение
и пользуясь случаем - как на ваш взгляд, замена mysql на сериализацию экземляров, это совсем бредовая идея?) (поддержка сайта, статистики не интересует)
Вы действительно думаете, что mysql - это всего лишь хранилище данных?
Сериализация - это всего-лишь способ перевода данных объекта в байты, с предполагаемым обратным процессом, с целью передачи и хранения этих данных.
Как организовать связи? Где это хранить? Как делать запросы с определенными условиями, под которые заточены реляционные БД?
shegan вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 26.03.2015, 10:07   #3
Аватар для krisadr
Пользователь

Автор темы (Топик Стартер) Re: запуск ядра java не через bat а через c#

Цитата:
Сообщение от shegan Посмотреть сообщение
В уже скомпилированную программу? Можно сделать что угодно, вот только зачем.


Вы действительно думаете, что mysql - это всего лишь хранилище данных?
Сериализация - это всего-лишь способ перевода данных объекта в байты, с предполагаемым обратным процессом, с целью передачи и хранения этих данных.
Как организовать связи? Где это хранить? Как делать запросы с определенными условиями, под которые заточены реляционные БД?
Может в других проектах mysql и используется как полноценная бд, но только не в эмулях l2. Сколько не смотрел, ни искал связи в бд, так ничего и не нашел. Все логика и структура прописана в самом коде, так что могу с 90% ой увереностью сказать, что да тут мускул используется тупо для хранения данных. Ну может исключением является отсутствие дубликатов primary key. И да спасибо за разъяснение что такое сериализация, не знал . Так почему бы не увеличить скорость чтения\записи в разы?

ps. про перенос вывода напрямую в текстбокс так и нет( ну что же сделаю пока что тупо парсер log.txt

pss. бога ради остановите меня серьезными аргументами если я совсем заблуждаюсь
krisadr вне форума Ответить с цитированием
Непрочитано 26.03.2015, 10:39   #4
Пользователь

По умолчанию Re: запуск ядра java не через bat а через c#

Цитата:
Сообщение от krisadr Посмотреть сообщение
Может в других проектах mysql и используется как полноценная бд, но только не в эмулях l2. Сколько не смотрел, ни искал связи в бд, так ничего и не нашел. Все логика и структура прописана в самом коде, так что могу с 90% ой увереностью сказать, что да тут мускул используется тупо для хранения данных. Ну может исключением является отсутствие дубликатов primary key. И да спасибо за разъяснение что такое сериализация, не знал . Так почему бы не увеличить скорость чтения\записи в разы?

ps. про перенос вывода напрямую в текстбокс так и нет( ну что же сделаю пока что тупо парсер log.txt

pss. бога ради остановите меня серьезными аргументами если я совсем заблуждаюсь
Неверное утверждение. WHERE CAUSE - весомый довод? Например, самый банальный вывод онлайна (для тех, кто еще до сих пор берет его из БД, а не через API) - SELECT... WHERE online = 1. Как вы это на файлах будете реализовывать?

Связи - это только от того, что разработчики об этом не позаботились. Самый банальный и простой баг, который вызывает очень интересные бонусы. Вы сажаете персонажа на удаление, он удаляется - но не удаются связанные записи, в том числе сабклассы. Через некоторое время кто-то создает персонажа и ему выдается ID с тем, который был раньше у удаленного персонажа. Вуаля - получаем, например, хумана с сабом камаэля.

Вот чего действительно стоит опасаться, так это таблиц KEY-VALUE. Если речь о HF - посмотрите в сторону ServerVariables, вот уж поле для рефакторинга.
ProDev вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 26.03.2015, 10:57   #5
Аватар для krisadr
Пользователь

Автор темы (Топик Стартер) Re: запуск ядра java не через bat а через c#

Цитата:
Сообщение от ProDev Посмотреть сообщение
Неверное утверждение. WHERE CAUSE - весомый довод? Например, самый банальный вывод онлайна (для тех, кто еще до сих пор берет его из БД, а не через API) - SELECT... WHERE online = 1. Как вы это на файлах будете реализовывать?
писал же еще в самом начале. (поддержка сайта, статистики не интересует) - это все будет делаться отдельно через самописный java-webserver и апплеты

Добавлено через 12 минут
Цитата:
Сообщение от ProDev Посмотреть сообщение
Связи - это только от того, что разработчики об этом не позаботились. Самый банальный и простой баг, который вызывает очень интересные бонусы. Вы сажаете персонажа на удаление, он удаляется - но не удаются связанные записи, в том числе сабклассы. Через некоторое время кто-то создает персонажа и ему выдается ID с тем, который был раньше у удаленного персонажа. Вуаля - получаем, например, хумана с сабом камаэля.
Не проверял, но думаю врятли l2jserver такие дураки чтобы к саббу привязывать персонажа.
зачем тут связи в бд? переменная в class Player - subbclassId.
И все - новый персонаж, естественно будет другой subbclassId.(а не в class Subbclass (playerObjId))

Последний раз редактировалось krisadr; 26.03.2015 в 11:09. Причина: Добавлено сообщение
krisadr вне форума Ответить с цитированием
Непрочитано 26.03.2015, 11:13   #6
Аватар для KID
Пользователь

По умолчанию Re: запуск ядра java не через bat а через c#

ускорить загрузку/чтение в разы "чего"?
вам бы, с таким энтузиазмом - написать другую архитектуру загрузки данных из бд, а то я уже насмотрелся на десятки тысяч sql запросов при старте, а также такую интересую модель загрузки персонажей, которая очень способствует дюпам и прочим неблагоприятным последствиям.

А если бы еще и задумались бы о "кеше", то и вообще можно было помножить скорость загрузки данных из бд на ноль.

зы.
перехват console.out для отрисовки его в textBox'e - вот это действительно импрувмент для повышение скорости, вот реально для чего это свистоперделка? гуй для сервер лянчера?

статистика:
Свернуть ↑Развернуть ↓
KID вне форума Отправить сообщение для KID с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 26.03.2015, 11:26   #7
Аватар для krisadr
Пользователь

Автор темы (Топик Стартер) Re: запуск ядра java не через bat а через c#

Цитата:
перехват console.out для отрисовки его в textBox'e - вот это действительно импрувмент для повышение скорости, вот реально для чего это свистоперделка? гуй для сервер лянчера?

статистика:
Свернуть ↑Развернуть ↓
в точку) гуй), на скорость сервера влияние его будет минимальным, ибо работать будет отдельно. а с java gui я не дружу ну ни как. Может потому что среды разработки удобнее чем visualstudio я не найду. Мне к тому же надоела концепция текстовых конфигов, в идеале их тоже бы туда зафигачить, и внедрять напрямую в среду выполнения, но мне кажется это уже слишком извращенно xD + сделать онлайн вывод статистики серверной нагрузки и в графиках тд и тп (для администрирования.)

по поводу статистики - собираюсь писать свой api для этого дела - выше уже описывал, я ей не принебригаю, просто откладываю, ибо объем работ огромен, и не до статистики сейчас. Благо есть время, энтузиазм, деньги, и пока что уверенность что в этом нуждаются ^^. Много кто говорит эмули гав*о, то гав*о се гав*о, но не многие решаются взять блин и переписать все с нуля, заранее сделав схему объектов, и логики их обработки, поддерживая модульность и самое главное - KISS. Вот собственно мои мотивы. Можете смело поливать грязью

ps. Да к тому же знаю что это такое, сам уже не первый раз пробую переписать. Как раз таки последний раз бросил это дело потому что зае*бался с mysql ом, тогда меня хватило на 2 месяца.
krisadr вне форума Ответить с цитированием
Непрочитано 26.03.2015, 11:36   #8
-

По умолчанию Re: запуск ядра java не через bat а через c#

Цитата:
Сообщение от krisadr Посмотреть сообщение
Может в других проектах mysql и используется как полноценная бд, но только не в эмулях l2. Сколько не смотрел, ни искал связи в бд, так ничего и не нашел. Все логика и структура прописана в самом коде, так что могу с 90% ой увереностью сказать, что да тут мускул используется тупо для хранения данных. Ну может исключением является отсутствие дубликатов primary key. И да спасибо за разъяснение что такое сериализация, не знал . Так почему бы не увеличить скорость чтения\записи в разы?

ps. про перенос вывода напрямую в текстбокс так и нет( ну что же сделаю пока что тупо парсер log.txt

pss. бога ради остановите меня серьезными аргументами если я совсем заблуждаюсь


TL;DR:
Свернуть ↑Развернуть ↓


Я рад, что у нас совпадает видение на то, что такое "сериализация"
Хоть уже до меня высказались по этому поводу, и я согласен с этими точками зрения, все-таки вставлю 5 копеек.
Пока в запросах есть "WHERE" - реляционная модель актуальна, и уж точно для нынешний реализаций эмулей ладвы, пусть я знаком с их малым количеством.
Пока актуальны запросы типа "хочу чаров из такого-то клана", "хочу инфу о маноре из такого-то замка" и т.п. В случае с RDB достаточно написать запрос.
А как это организовать путем сериализации объектов и хранении их в каком-то кеше?
Или для каждой нынешней сущности, пусть для самой маленькой, потребуется сделать кеш (я о хранилищах key-value). Плюс связями придется очень вручную руководить, что может породить много ошибок.
Или если эти сущности будут вложенные, то кешей будет меньше, но для поиска этих самых маленьких сущностей придется делать SomeCache.getInstance().getAll() и бегать по этим всем сущностям, делая проверку тонны условий.
shegan вне форума Ответить с цитированием
Непрочитано 26.03.2015, 11:43   #9
Аватар для krisadr
Пользователь

Автор темы (Топик Стартер) Re: запуск ядра java не через bat а через c#

всегда было интересно зачем пораждать объект, если он используется ТОЛЬКО в единичном экземпляре.(SomeCache.getInstance().getAll()) почему бы его не сделать static, с блокировкой при чтении\записи.
krisadr вне форума Ответить с цитированием
Непрочитано 26.03.2015, 11:45   #10
-

По умолчанию Re: запуск ядра java не через bat а через c#

Цитата:
Сообщение от krisadr Посмотреть сообщение
в точку) гуй), на скорость сервера влияние его будет минимальным, ибо работать будет отдельно. а с java gui я не дружу ну ни как. Может потому что среды разработки удобнее чем visualstudio я не найду. Мне к тому же надоела концепция текстовых конфигов, в идеале их тоже бы туда зафигачить, и внедрять напрямую в среду выполнения, но мне кажется это уже слишком извращенно xD + сделать онлайн вывод статистики серверной нагрузки и в графиках тд и тп (для администрирования.)
Ну так можно же сделать решение под веб \o/
Тут и кроссплатформенность, и гуй рисовать проще (имхо), и на родной джаве можно писать (а можно и не на джаве), и не нужен доступ к машине. И продавать проще будет
shegan вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Учебники и книги по Java 2 CHIPSET Java 47 06.09.2016 22:14
Нужна помощь по поводу Java ядра ilyxa Java 20 24.11.2010 19:02
Зависает после выбора сервера! Nales Серверная часть 8 09.05.2010 12:55
ошибка в SVN или JAVA portotiv Серверная часть 3 13.02.2010 10:33


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

Вверх