Поиск сообщества

Показаны результаты для тегов 'java'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общий
    • Новости
  • Lineage II
    • Ядро сервера
    • Датапак
    • Клиент игры
    • Сайт для сервера
    • Общение
    • Прочее
    • Мастерская
    • Мануалы
  • Торговый раздел
    • Товары
    • Услуги
    • Работа
    • Покупка
    • Рынок игровых аккаунтов и предметов
    • Арбитраж
  • Разное
    • Творчество
    • Новости игровой индустрии
    • Hi-Tech
    • Общение на любую тему
    • Работа с ОС
    • Программирование
  • Другие игры
    • Counter-Strike
    • World Of Warcraft
    • ArcheAge
    • Blade and Soul
    • Dota 2
    • Tera
    • Rust
    • RF Online
    • The Elder Scrolls Online
    • Прочие онлайн игры
  • Раздел "Разработчиков"
    • [PTS] AdvExt
    • [High Five] JTS-Dev
    • [High Five] L2Dev-New
    • [High Five] Jopacode
    • [High Five] L2J-Dev
    • [Interlude] Lucera2
    • [Interlude] L2jWod
    • [Interlude] OVC-Dev
    • [Interlude] Pain-Team
  • Архив
    • Архив старых тем
  • unfuckable const Add
  • Lineage II High Five-5 Нужна Помощь
  • L2B Web Dev Обсуждения
  • L2B Web Dev Stress Web 13
  • L2B Web Dev Обсуждения
  • Linux Sysadmin's Статьи
  • L2j Development Темы
  • Lineage II High Five-5 Вопросы и их решение
  • L2B Web Dev JavaScript
  • Linux Sysadmin's Услуги
  • Lineage II High Five-5 Исходники и сборки
  • Lineage II High Five-5 Мануалы
  • Lineage II High Five-5 Ваши Предложения
  • Linux Sysadmin's Вопросы

Категории

  • Lineage II
    • Сборки
    • Исходники серверов
    • Серверные дополнения
    • Клиентские дополнения
    • Web составляющие
    • Патчи для клиента
    • Прочее
  • Web графика
    • Дизайны (PSD)
    • Скрипты\движки
    • Прочая графика
  • World of Warcraft
  • RF Online
  • Counter-Strike
    • Сборки
    • Моды
    • Плагины
    • Скрипты
    • Софт
    • WEB
    • Прочее
  • Rust
  • Другое
  • L2j Development Файлы
  • Lineage II High Five-5 Файлы
  • L2B Web Dev Файлы

Категории

  • Lineage 2
    • Java сервер
    • Работа с клиентом
    • Web для сервера
  • Counter-Strike
  • World of Warcraft
  • RF Online
  • Dota 2
    • Dedicated сервер
    • Web часть
    • Работа с клиентом
  • Rust
  • Творчество
  • Работа с OS
    • *nix
    • Windows
  • L2B Web Dev тест
  • L2B Web Dev Инструкции
  • L2j Development Инструкции
  • Lineage II High Five-5 Инструкции
  • Steve — Dogs Family Мануалы от [Steve-Dogs.Ru]

Найдено: 43 результата

  1. Куплю исходный код acis

    Добрый день, куплю acis 374 исходник. Писать в личные сообщения.
  2. Куплю исходный код acis

    Добрый день, куплю acis 374 исходник. Писать в личные сообщения.
  3. Добрый день, уважаемые форумчане, столкнулся с проблемой реализации выдачи бонусов за голосование, пользуюсь сборкой L2jFrozen, настроил конфиг "/gameserver/config/powerpak/powerpak.properties" следующим образом: L2TopDeamonEnabled = True L2TopDeamonPollInterval = 5 - проверку указал L2TopDeamonURL = http://l2top.ru/editServ/?adminAct=lastVotes&uid=30660&key=bb78bc3184090b565daea0913d0a71ab - скрипт последних 500 голосовавших. L2TopDeamonPrefix = server - префикс L2TopDeamonRewardItem = 6673 - ид предмета L2TopDeamonMin = 1 - минимальное количество L2TopDeamonMax = 1 - максимальное количество L2TopDeamonMessage = оставил пустым L2TopDeamonDoNotRewardAtFirstTime = False - выдача бонусов игрокам которые первый раз голосуют в топе(выключил) Первый запрос конфига (включен): # Do you want enable powerpack? PowerPakEnabled = True И не могу понять почему при голосование не начисляются бонусы игроку, возможно кто сталкивался, и знает как реализовать? Благодарю за внимание.
  4. Не работает Java machine

    Доброго времени суток, столкнулся с проблемой в работе Java, при запуске ОС(работаю на Windows Server 2012 R2 x64), не запускается Java Machine, при попытке запустить в ручную по пути /bin/java.exe , выбрасывает консоль, но нечего не происходит, иконку java в панель не выводит, переустанавливал как через онлайн установщик, так же через офлайн разрядность х86_x64, ранее работала, но сегодня при перезагрузке сервера, что то пошло не так, и данный софт перестал функционировать, не могу понять в чем проблема, подскажите пожалуйста что делать? Заранее благодарю. P.S: "Проблема связана с запуском Login Server, вот лог ошибки " 2017.11.30 22:04:52,986 SEVERE 1 com.l2jfrozen.loginserver.L2LoginServer FATAL: Failed to start the Game Server Listener. Reason: Cannot assign requested address: JVM_Bind ""
  5. Релиз Java SE 9

    21 сентября вышел очередной релиз платформы Java SE. С выхода предыдущего релиза Java SE 8 прошло три с половиной года. Самым главным глобальным нововведением является Java Platform Module System — поддержка концепции модулей на уровне языка и JVM. Теперь сама стандартная библиотека JDK разбита на модули, а Java-разработчики имеют возможность создавать собственные модули, определять зависимости между ними, а также управлять видимостью пакетов в модуле для других модулей. Подробнее про систему модулей Java 9 можно прочитать в книге Java 9 Modularity. Другие важные нововведения: Команда jshell — функциональность REPL (read-eval-print loop) для платформы Java. Multi-Release JAR Files — возможность объединять в одном JAR-файле разные версии классов и ресурсов для разных версий Java. jlink — инструмент для создания собственных сборок JRE под конкретную программу, включающих только нужные для запуска модули. Браузерный плагин Java Plug-in и технология апплетов теперь помечены как устаревшие. Де факто апплеты уже не поддерживаются в современных браузерах. Небольшие изменения в синтаксисе языка Java; например, в интерфейсах теперь поддерживаются private-методы. Новый API для управления процессами (ProcessHandle). Новый API для прохода по стеку вызовов (StackWalker). Различные мелкие улучшения стандартной библиотеки, например, синтаксис для создания неизменяемых коллекций (List.of, Set.of, Map.of) и новые методы в API Stream и CompletableFuture. Новые возможности ECMAScript 6 (let, const, for..of и т. д.) в JavaScript-интерпретаторе Nashorn, а также новый API для синтаксического анализа JavaScript (Parser). Поддержка HiDPI для приложений AWT и Swing под Windows и Linux. Поддержка GTK3 как альтернативы GTK2 для создания окон AWT, Swing и JavaFX под Linux. По умолчанию используется GTK2, либо, если он недоступен, GTK3. Список изменений Скачать
  6. Многим специалистам не редко приходится сталкиваться с задачей воссоздания исходного кода того или иного Java-приложения, и тут приходится задуматься, какой же декомпилятор лучше выбрать, как сэкономить время и максимально эффективно выполнить поставленную задачу. В этой статье мы рассмотрим основные популярные декомпиляторы Java приложений. Java Decompiler Видимо, самый популярный декомпилятор Java. Сам он предоставляет консольный интерфейс, уже давно не поддерживается и не обновляется, но все же многие графические инструменты, работающие с данным декомпилятором, до сих пор делают его используемым в случае необходимости декомпиляции небольших Java-классов. Mocha Является одним из первых выпущенных Java декомпиляторов. Как и JavaDecompiler, Mochaпредоставляет консольный интерфейс, последний релиз состоялся аж в 1996 г. DJ Java Decompiler Долгое время использовался лишь в качестве графической оболочки Java Decompiler для более быстрой и удобной выборки аргументов командной строки для вызова JAD. Однако в текущей версии наблюдается поддержка аннотаций. Fernflower Наверно один из лучших декомпиляторов Java-приложений на текущий момент. В последней версии включена поддержка параметрических типов, аннотаций, утверждений, перечисляемых типов, также действительно грамотно декомпилирует байт-код, полученный из-за известных багов компиляторов. JD-Core Высоко функциональная библиотека для декомпиляции байт-кода Java, разработка которой велась в рамках «Java Decompiler project». Написана полностью на C++ (необычайно быстра), не требует специальной установки, корректно выполняет свою непосредственную задачу, правда распространяется данный декомпилятор как часть приложения JD-GUI, что не дает возможности ее разработки в стороннем проекте. Подводя итоги, можно лишь сказать, что выбор все же остается за программистом, так что решать, на каком декомпиляторе остановиться, только вам. Сам я пользуюсь Fernflower, который присутствует у нас на форуме в разделе "Файлы". Возможно у вас есть свои предложения по поводу декомпиляторов? Ссылка на оригинал Дополнительно: BytecodeViewer Procyon
  7. В данной заметке я хочу показать каким образом можно определять и устранять утечки памяти в Java на примере из моей повседневной работы. Мы не будем здесь рассматривать возможные причины появления утечек, об этом будет отдельная статья, так как тема достаточно обширная. Стоит заметить, что речь пойдет о диагностике именно Heap Memory, об утечках в других областях памяти будет отдельная статья. Инструменты Для успешной диагностики нам понадобятся два инструмента: Java Mission Control (jmc) и Eclipse Memory Analyzer. Вобщем-то можно обойтись только Memory Analyzer, но с JMC картина будет более полной. JMC входит в состав JDK (начиная с 1.7) Memory Analyzer может быть загружен отсюда: MAT Анализ использования памяти Прежде всего, нужно запустить приложение со следующими флагами JVM: -XX:+UnlockCommercialFeatures -XX:+FlightRecorder Не используйте эти опции на production системе без приобретения специальной лицензии Oracle! Эти опции позволят запустить Flight Recorder – утилита, которая поможет собрать информацию об использовании памяти (и много другой важной информации) во время выполнения программы. Я не буду описывать здесь как запустить Flight Recorder, эта информация легко гуглится. В моем случае было достаточно запустить FR на 10-11 минут. Рассмотрим следующий рисунок, на котором показана классическая «пила» памяти, а так же важный сигнал, что что-то не так с использованием памяти: Можно увидеть, что после каждого цикла очистки памяти, heap все больше заполняется, я выделил это желтым треугольником. «Пила» все время как бы ползет вверх. Это значит, что какие-то объекты не достижимы для очистки и накапливаются в old space, что со временем приведет к переполнению этой области памяти. Выявление утечки Следующим шагом нужно выявить, что именно не доступно для очистки и в этом нам поможет Memory Analyzer. Прежде всего, нужно загрузить в программу heap dump работающего приложения с предполагаемой утечкой памяти. Это можно сделать с помощью «File → Acquire Heap Dump». После загрузки в диалоге «Getting Started Wizard» выбрать «Leak Suspects Report» после этого откроется краткий обзор возможных утечек памяти: Если вернуться на вкладку «Overview» и выбрать «Dominator Tree», то можно увидеть более подробную картину: Дерево показывает структуру «тяжелого» объекта, а так же размер его полей (по типу). Можно видеть, что одно из полей объекта MasterTenant занимает более 45% памяти. Устранение утечки Имея результат анализа из предыдущего пункта, следующим шагом идет устранение накапливания объектом памяти. Тут все сильно зависит от конкретного кода. Общая рекоменация – нужно найти и проанализировать все места, где происходит инициализация или изменение соответствующего поля или полей, чтобы понять механизм накапливания памяти. В моем случае в коллекцию постоянно добавлялись записи из множества (около 150) потоков при определенных условиях. После находжения и устранения утечки, не лишним будет пройти все шаги снова, проанализировать память и отчет Memory Analyzer, чтобы убедиться что фикс помог. Ссылка на оригинал
  8. Привет Forummaxi! Хочу поделиться с вами одним инструментом, который помогает делать меньше ошибок в коде и реже гуглить по вопросам разработки. О чем это ты? Программируете на Java? Codota поможет вам в этом! Этот помощник разработан, чтобы помочь вам писать код, не проверяя лишний раз документацию. Codota понимает код и предлагает вам правильные решение в нужное время. Означает ли это, что однажды роботы возьмут на себя наши рабочие места разработчиков? Возможно. Но пока еще нет. Кодить это сложно. Такие сервисы, как StackOverflow или GitHub, безусловно, помогают нам в этом. Теперь у Java-разработчиков есть еще один альтернативный вариант: ИИ-помощник Codota. Лично я всегда хотел получить помощь искусственного интеллекта при разработке. Codota учится на существующем коде, чтобы помочь вам быстрее и умнее строить программное обеспечение. Он работает с любой IDE, которую вы используете, и использует свои изученные модели кода, чтобы предложить наилучший вариант. Как это работает? По словам создателей этого сервиса, Codota создает прогностические модели кода, которые предполагают доработку кода и связанный контент на основе текущего контекста, присутствующего в вашей среде IDE. Программа сочетает в себе методы анализа программ, обработки естественного языка и машинного обучения для изучения кода. Затем он предоставляет результаты различных моделей для любой заданной задачи. Если вы установили Codota, появляется окно, связанное с вашей IDE. Поэтому, когда вы выбираете переменную, тип или метод, Codota дает примеры кода, основываясь на том, что вы уже написали. Можно назвать хорошей гадалкой по фрагментам кода. Так, а это точно ИИ? Ну, по словам Марселя Бруха, Codota оценивает и сортируют примеры кода по релевантности. В настоящее время, Codota ограничена Java, т.к. прежде сервис должен начать понимать язык, который анализирует. Давай теперь про минусы Конечно, есть некоторые рамки. Codota еще не знает сути кода. В качестве примера вам часто будет предоставлен кусок кода какого-то другого программиста из мира сего. Очевидно, это означает, что нет гарантии на всегда красивый и чистый код. Но поскольку база знаний Codota основывается на таких сервисах, как GitHub, BitBucket и StackOverflow, то каждый день ИИ становится лучше. Codota работает на Linux, Windows и MacOS. Программа работает с Eclipse, IntelliJ и Android Studio. Также, есть довольно интересное промо-видео, в котором подробно показано, как это работает. Ссылка на оригинал
  9. Нужны знания.

    Здравствуйте уважаемые форумчане. Изучаю java. Практически осилил syntax. Дальнейшее обучение требует побольше работать с кодом. Хорошие люди отправили меня к вам, ибо тут сидят администраторы игр на java. Не прошу брать в ученики, ибо время каждого бесценно. Хочу просто поработать в команде над кодом. Может есть среди вас человек, которому требуется такой как я Буду очень рад.
  10. Компания Oracle, начавшая судиться с Google из-за Java ещё в 2010-м, после прошлогоднего судебного поражения решила не сдаваться, и теперь подала новую апелляцию. В интернете сразу выпала месячная норма комментариев «эта компания юристов только и может судиться, нет чтобы что хорошее сделать». Для пропустивших предыдущие серии этой мыльной оперы — краткое содержание: 2007 год: Google представляет новую систему Android, использующую Java. Глава Sun Microsystems Джонатан Шварц в своём блоге радостно поздравляет Google с этим. 2010 год: Oracle покупает Sun, получая Java, и не поздравляет Google с успехом Android, а подаёт в суд «из-за нарушения авторских и патентных прав» в случае с Java API. 2012 год: суд решает, что «структура, последовательность и организация» API не подлежат копирайту, победа за Google. Oracle подаёт апелляцию. 2014 год: рассмотрение апелляции приводит к решению «всё-таки подлежат, но использование может подпадать под fair use». Дело требует нового рассмотрения. 2016 год: новый судебный процесс завершается тем, что в случае с Android был fair use, победа опять за Google. 2017 год: Oracle снова подаёт апелляцию. Эта музыка будет вечной (если не забыть зарядить андроидфон).
  11. JDK 10 и Project Amber

    Сегодня от ключевых людей из команды Java появились сразу две новости: Марк Рейнхольд сообщил об открытии репозиториев JDK 10, в которые коммиттеры уже могут размещать багфиксы и мелкие улучшения. Можете прочитать официальное письмо Марка об этом, а можете — хабрапост Тагира Валеева. В общем, стоило окончательно устаканиться фичам «девятки», как можно уже начинать переживать о том, что попадёт в десятку. Брайан Гетц выставил на голосование новое предложение: создать Project Amber для внесения туда JEP с «маленькими, ориентированными на продуктивность языковыми фичами» (вроде недавних Enhanced Enums и Lambda Leftovers). То есть предложение не в том, чтобы затеять какое-то гигантское нововведение, а в том, чтобы сгруппировать и так появляющиеся маленькие — дав им отдельный общий репозиторий, списки рассылки и так далее. https://twitter.com/RichardWarburto/status/824305443975626752?ref_src=twsrc%5Etfw Непонятно только, почему назвать проект решили «янтарь». Это звучит как что-то, навсегда застывшее и активно не развивающееся!
  12. Молодой учёный Росс Тейт опубликовал текст о проблеме в системе типов Java (а также Scala), делающей эту систему «unsound». Как поясняет тот же текст, слово «unsound» (буквально — «ненадёжный», «необоснованный») в данном контексте говорит, что система типов предоставляет разработчикам не все те гарантии поведения программ, которые должна была предоставить по задумке создателей. Система типов Java призвана, например, гарантировать, что метод, требующий Integer, не примет String. Тейт и Нада Амин (исследователь, участница команды Scala) обнаружили хитрый случай, в котором гарантия не соблюдается — так что компилятор, вполне соответствующий спецификации, скомпилирует код, присваивающий переменной значение другого типа (впрочем, это не означает возможности исполнять его на JVM, и вряд ли вы столкнётесь с таким кодом в рабочем проекте). Впервые Амин и Тейт сообщили о своей находке в ноябре на конференции OOPSLA (update: как заметил наш читатель, в Фейсбуке сообщали и того раньше), представив там соответствующую научную публикацию. Но после конференции на это обратили внимание только в академических кругах, а вот теперь заговорили в индустрии, что и побудило Тейта написать его новый текст, предназначенный для разработчиков. Внимание многих привлёк недавний твит Джошуа Блоха с примером «ломающего систему» кода: https://twitter.com/joshbloch/status/822948565433466881/photo/1?ref_src=twsrc%5Etfw Как написал Блох в следующем твите, «Другими словами, Нада Амин и Росс Тейт обнаружили такую дыру в 12-летней системе типов в Java-дженериках, что сквозь неё можно на грузовике проехать». Не все согласны с такой оценкой. Нашлось много заявлений вроде «но ведь такой код в реальной жизни никто никогда не пишет» и «но ведь он выбрасывает исключение ClassCastException». Тейт в своём тексте отвечает на первое, что это не вопрос юзабилити, а вопрос безопасности — то есть мы должны думать не о том, пишем ли мы такой код сами, а о том, может ли в принципе написать такой код злонамеренный разработчик. А на второе — что с исключением нам просто повезло. Мол, так случайно получилось из-за того, что при добавлении дженериков заботились об обратной совместимости, а если бы что-то пошло иначе (например, дженерики в Java были изначально), его бы не было, что открывало бы большой простор для злоупотреблений. Так что, хотя в итоге всё обошлось без ужасных последствий, подход всё равно неправильный, и разработчикам других языков надо мотать на ус. Помимо текста Тейта и видеоинтервью с ним и Амин, доступна страница, на которой можно лично побаловаться с примерами кода. А чем же изначально была вызвана проблема? Тейт пишет, что в конечном счёте всё сводится к null-pointer bug — «но в отличие от большинства таких багов, на обнаружение этого ушло 12 лет». В общем, связанные с null проблемы бывают не только у рядовых разработчиков!
  13. Как утверждает издание The Register, всё больше клиентов и партнёров Oracle получают от компании сообщения о том, что они используют Java с нарушением лицензии и должны заплатить. В одном из случаев запрошенная сумма составила $100 000. По словам издания, на рынке возникла путаница из-за всеобщего представления «Java бесплатна» и из-за того, что платные Java SE Advanced Desktop, Java SE Advanced и Java SE Suite скачиваются вместе с обычной Java SE, а не отдельными платными загрузками. В результате многие годами пользовались коммерческими компонентами без соответствующего лицензирования, все привыкли воспринимать это как статус-кво и никто не ожидал подвоха — а теперь Oracle принялась активно закручивать гайки, наняв 20 людей специально для того, чтобы разбираться с «неплательщиками». Причём в число неплательщиков включили не только клиентов Oracle, но даже её партнёров, у которых теперь ощущение «как с нами можно так было так поступить, мы ж сотрудничаем». Реакция сообщества на текст The Register оказалась двоякой. В Твиттере многие возмущены действиями Oracle и считают это поводом выбирать другие платформы, где не окажешься неожиданно должен много денег. https://twitter.com/OvidPerl/status/810063984892268544?ref_src=twsrc%5Etfw А вот на Hacker News комментаторы оказались скептично настроены по отношению к тексту The Register. Они замечают, что там много громких утверждений, но при этом толком упомянут только один конкретный случай, а всё остальное может быть преувеличением. Действительно, в тексте хватает скользких оборотов вроде «giant is understood to have hired 20 individuals»: вроде и заявили громко о «20 нанятых людях», но сняли с себя ответственность расплывчатой оговоркой «is understood» (кем? на каких основаниях?), если информация окажется ложной — взятки гладки. В общем, панически менять платформу на основании такого текста вряд ли стоит, а вот следить, появится ли ещё информация об этом, есть смысл. Мы будем следить, если появится — сообщим вам.
  14. Java 9

    У Java 9 сегодня значимая веха, а заодно мы вспомнили ещё несколько недавних ссылок, связанных с «девяткой»: Веха в следующем: Марк Рейнхольд сообщил, что JDK 9 добралась до состояния Feature Complete, и работа переходит в стадию «пофиксить одни баги и разобраться, почему не станем фиксить другие». В общем, всё то, что вы хотите видеть в Java, но до этого момента не попало в девятку, теперь уже точно и не попадёт! Зато в июльскую дату релиза теперь верится сильнее. Похоже, после стольких лет откладывания Jigsaw вот теперь до него действительно рукой подать. https://twitter.com/mreinhold/status/822209640037425154 От мечтаний о «рукой подать» вернёмся к суровой реальности. На Reddit недавно опубликовали вопрос «Какая наиболее старая версия Java используется у вас в продакшене и что мешает обновиться?», и типичным ответом оказалось «1.6, потому что клиент решает, что у него на сервере». А в другом реддит-треде «Что вы думаете о Java 9?» комментаторы сходятся на том, что у неё нет настолько очевидных преимуществ, как у «восьмёрки», поэтому распространение окажется медленнее («такое сложно будет продать нашим менеджерам»). Вместе всё это напоминает нам, что для многих разработчиков светлое модульное будущее наступит совсем не в день релиза JDK 9: повезёт в первую очередь тем, кто будет начинать новые проекты. Впрочем, работающим над давно существующим проектом не обязательно впадать в депрессию: на TechBeacon специально для них опубликовали текст «The legacy developer’s guide to Java 9». Там, например, про multi-release JAR, призванные помочь с одновременной поддержкой разных версий Java. А тем временем различные издания продолжают осваивать тему «девятка — это не только модули», разбирая различные JEP. В этом месяце в блоге Takipi написали о JEP 259: Stack-Walking API, а на Voxxed рассмотрели JEP 269: Convenience Factory Methods for Collections.
  15. Обьект+Клас

    Для знатоков! Обьект+Класс не могу понять разницы между ними в условиях л2, в не условиях тоже?
  16. Lineage 2 Bugs

    Идея написать свой простенький багтрекер появилась довольно давно, т.к. существующие решения не всегда отвечают поставленным задачам, взять например продвинутые версии такие как redmine или trac, все хорошо, куча различных опций, статусов проекта, можно кому то конкретному назначить, но для простого игрока это сложно, рядовой игрок не хочет разбираться в этом всем, он хочет отписать об ошибке и дальше играть в любимую игру, терпения на эти системы хватает у единиц, большинство только от вида этих систем убегает в ужасе. Можно сделать привычными средствами форума, 5-7 разделов на каждую группу ошибок, игрокам это тоже привычнее, но данный подход превращает жизнь разработчика в сущий ад, т.к. игрок считает что если он написал пост в стиле "админ пофикси целесту", то все, админы призовут на помощь потомков ванги и проблема будет решена, так же часто бывают ситуации когда на одну и туже проблему создается по 3-5 тем и тут уже разработчик видя 30 страниц ошибок убегает в ужасе Так вот в чем же преимущества новой системы: При создании заявки игроку предлагается выбрать тип проблемы, далее в зависимости от выбора откроется нужная форма с нужной логикой, например игрок хочет описать ошибку по умению, первое это название самого умения, используется "умный поиск", ввести "левое" называние не получиться, только из списка Далее игроку нужно заполнить 3 формы: Как работает сейчас, Как должно работать и Ссылки на офф. источники, данный подход мотивирует людей писать адекватные репорты, проверено не один раз Система автоматически по названию проблемы группирует их, исходя из этого можно понятно что исправлять в первую очередь, ведь согласитесь 10 жалоб на какое-то умение важнее 1 жалобы на богом забытый квест в богом забытой локации на 23м уровне Таблица в Панели Управления умеет сортировать данные по столбцам с использованием jQuery, без перезагрузок страницы Система написана с использованием технологии Spring Framework, и запускается в пару кликов Было принято решение перевести данный продукт в Open Source, ссылка на GitHub https://github.com/Eanseen7/Lineage-2-Bugs P.s. На полноценный продукт данный web пока еще не претендует, просьба строго не судить, скорее наброски и пример использования технологии Spring
  17. Lineage 2 CMS

    Истоки нашей CMS идут из 2015 года, именно в этом году, была выпущена наша первая CMS Рынок требовал удобный, качественный и самое главное безопасный продукт, коих на рынке тогда не было. Со временем функционал нашей CMS модернизировался и развивался, благодаря технологии Spring Framework Но все же, в процессе тестов CMS с использованием технологии Spring Framework зарекомендовала себя очень хорошо, и было принято решение заняться новой версией с учетом полученного опыта и отзывов. А теперь поговорим о новой версии: Лучшая безопасность, исключены любые "дырки", которыми славятся PHP разработки Поддержка шаблонов Колесо Удачи reCAPTCHA Поддержка Email уведомлений Неограниченное кол-во логин и game серверов, платформа позволяет работает не только с проектами Lineage 2, но и с любыми Java серверами Никаких SQL запросов, обмен информацией осуществляется по протоколу XMLRPC, легко интегрируется в любую сборку У каждого пользователя в личном кабинете имеется свой удобный склад и история операций с предметами Поощрение за голосование в MMOTOP Добавление новостей и статических страниц Вывод тем с форума Поддержка UnitPay Продукт постоянно дорабатывается Было принято решение перевести данный продукт в Open Source, ссылка на GitHub https://github.com/Eanseen7/Lineage-2-CMS
  18. Доброго времени суток, ув. форумчане. Появилось свободное время и я решил написать небольшую софтину для личного пользования. Суть программы в том, что она упрощает жизнь фрилансеру ( всем, наверное, знакомы ситуации, когда теряешь данные о своих клиентах ( что и кому делал, на какие суммы, дату и пр. ) ). В программу входят функции с полным спиком клиентов, суммы заказов, проверка на черный список, расчет персональных скидок, возможнсть удаления и пр. - стандарт, одним словом. Так вот, столкнулся я с одним вопросом, который не могу решить - как рассчитывать скидки. Накапливать ли их дисконт от общей суммы всех заказов, или же рассчитывать % скидки исходя из суммы разового заказа? Буду рад услышать любое мнение. Спасибо.
  19. С php на java

    Ребят нужна помощь. Делаю бота для одной онлайн игры и есть проблема с авторизацией. Сделать мне это нужно на java, а знаю я её плохо в отличии от php. Суть проблемы в чем. Написал туже авторизацию на php и все норм. Вот код: <?php class ml{ var $auth_url = "http://mlgame.ru/auth"; var $salt_url = "http://mlgame.ru/salt"; var $game_url = "http://s30.mlgame.ru/"; var $password; var $login; function __construct(){} function curl_get($host, $referer = null){ $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_REFERER, $referer); curl_setopt($ch, CURLOPT_USERAGENT, "Opera/14.00 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51"); curl_setopt($ch, CURLOPT_URL, $host); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt'); // сохранять куки в файл curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt'); $html = curl_exec($ch); echo curl_error($ch); curl_close($ch); return $html; } function get_salt(){ $salt = json_decode($this->curl_get($this->salt_url), TRUE); return $salt['salt']; } function get_password(){ //MD5( MD5(clearText) + salt ); return md5(md5($this->password)."".$this->get_salt()); } function auth(){ $to = $this->auth_url."?username=".$this->login."&password=".$this->get_password()."&version=web67894&autologin=false&captcha=null"; $auth = $this->curl_get($to, $this->game_url); return $auth; } } if(isset($_POST)) { $ml = new ml(); $ml->login = 'dambenok68'; $ml->password = 'admin2501'; } //echo $ml->auth(); ?> <?php $json = $ml->auth(); $obj = json_decode($json); $result = $obj->{'result'}; if($result == 'ok') { echo 'Авторизация успешна<br>Salt: '; } else { echo 'Неверный логин/пароль '; } ?> Пишу тоже самое на java но авторизация не проходит. Код: package mlgame; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.CookieHandler; import java.net.CookieManager; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.message.BasicNameValuePair; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class auth { private static final String USER_AGENT = "Opera/14.00 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51"; private static final String AUTH_URL = "http://mlgame.ru/auth"; private static final String SALT_URL = "http://mlgame.ru/salt"; private static String cookies; private static HttpClient client = HttpClientBuilder.create().build(); private static String get_salt() { HttpGet request = new HttpGet(SALT_URL); request.addHeader("User-Agent", USER_AGENT); try { HttpResponse response = client.execute(request); BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); final JSONObject obj = new JSONObject(rd.readLine()); return obj.getString("salt"); } catch (ClientProtocolException e) { e.printStackTrace(); return null; } catch (IOException e) { e.printStackTrace(); return null; } catch (JSONException e) { e.printStackTrace(); return null; } } private static String encrypt(String password) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(password.getBytes()); byte byteData[] = md.digest(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < byteData.length; i++) { sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1)); } return sb.toString(); } public static Boolean login(String user, String pass) { try { auth http = new auth(); String password = encrypt(encrypt(pass + get_salt())); CookieHandler.setDefault(new CookieManager()); List<NameValuePair> params = new ArrayList<NameValuePair>(5); params.add(new BasicNameValuePair("username", user)); params.add(new BasicNameValuePair("password", password)); params.add(new BasicNameValuePair("version", "web67894")); params.add(new BasicNameValuePair("autologin", "false")); params.add(new BasicNameValuePair("captcha", "null")); HttpPost post = new HttpPost(AUTH_URL); post.setHeader("Host", "mlgame.ru"); post.setHeader("User-Agent", USER_AGENT); post.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); post.setHeader("Accept-Language", "en-US,en;q=0.5"); post.setHeader("Cookie", getCookies()); post.setHeader("Connection", "keep-alive"); post.setHeader("Referer", AUTH_URL); post.setHeader("Content-Type", "application/x-www-form-urlencoded"); post.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); HttpResponse response = client.execute(post); setCookies(response.getFirstHeader("Set-Cookie") == null ? "" : response.getFirstHeader("Set-Cookie").toString()); int responseCode = response.getStatusLine().getStatusCode(); BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer result = new StringBuffer(); String line = ""; while ((line = rd.readLine()) != null) { result.append(line); } //System.out.println(result.toString()); final JSONObject obj = new JSONObject(result.toString()); if(obj.getString("result") == "error" && obj.getString("errorText") == "wrong account") { System.out.println("Login failed"); return false; }else{ return true; } } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return false; } catch (UnsupportedEncodingException e) { e.printStackTrace(); return false; } catch (ClientProtocolException e) { e.printStackTrace(); return false; } catch (IOException e) { e.printStackTrace(); return false; } catch (JSONException e) { e.printStackTrace(); return false; } } public static String getCookies() { return cookies; } public static void setCookies(String cookies) { cookies = cookies; } }
  20. Пытаюсь спарсить данные с с одной игры браузерной. данные в AMF3. Пинг команда уходит норм но вот с ответом беда. package booot; import java.awt.Label; import java.util.HashMap; import flex.messaging.io.ArrayCollection; import flex.messaging.io.ArrayList; import flex.messaging.io.amf.AmfTrace; import flex.messaging.io.amf.client.AMFConnection; import flex.messaging.io.amf.client.exceptions.ClientStatusException; import flex.messaging.io.amf.client.exceptions.ServerStatusException; import flex.messaging.messages.AcknowledgeMessage; import flex.messaging.messages.CommandMessage; import flex.messaging.messages.Message; import flex.messaging.messages.RemotingMessage; import flex.messaging.util.UUIDUtils; public class main { public static void main(String[] args) { String url = "http://s1.mlgame.ru/messagebroker/myamflongpoll;gamesessionid=1foxx91po205y1cda91uh9adwd?clientTag=c4482f8a2c537b909ea1a3b63b48fdbe"; AMFConnection amfConnection = new AMFConnection(); try { amfConnection.connect(url); } catch (ClientStatusException cse) { System.out.println("Error connecting url: " + cse); return; } try { amfConnection.addHttpRequestHeader("Cookie", "6250CED9FBC7D5894B79973DEC1503A6"); amfConnection.addHttpRequestHeader("Content-type", "application/x-amf"); amfConnection.setAmfTrace(new AmfTrace()); amfConnection.setObjectEncoding(3); // System.out.println(amfConnection); CommandMessage cmsg = new CommandMessage(); cmsg.setOperation(CommandMessage.CLIENT_PING_OPERATION); cmsg.setMessageId(UUIDUtils.createUUID()); cmsg.setHeader(Message.FLEX_CLIENT_ID_HEADER, ""); cmsg.setHeader(Message.ENDPOINT_HEADER, "nil"); AcknowledgeMessage ack = (AcknowledgeMessage)amfConnection.call(null, cmsg); } catch (ServerStatusException sse) { System.out.println(sse); } catch (ClientStatusException e) { e.printStackTrace(); System.out.println(e.getLocalizedMessage()); } } } выдаёт стэктрейс Ответ сервера на скрине. Я прекрасно понимаю что ява не может десерилизовать ответ. Но почему хз. П.С. Яву я не знаю и пишу эту хрень по приборам т.к. схожа с C#. Так что прошу разжевать как для идиота)
  21. Как можно отправить файл выбранный через JFileChooser, переместить в папку которая находится на сервере? Через JFileChooser получаем файл File file = fileopen.getSelectedFile(); теперь как file отправить на сервер? просто гуглил и ничего не нашёл толкого.
  22. ребята, помогите плиз, кому не в падлу, в долгу не останусь. Я на экзамене на Ява... Есть задача, сам в яве далеко от того уровня, что просят сделать. разработать программу с графическим интерфейсом, которая получает на вход csv файл с информацией о объектах. Программа считывает данные помещает в коллекцию ArrayList. После данные сортируются по введенному пользователем критерию и отображаются еа форме. для отображения использовать JTable. Беговая дорожка, эскалатор.
  23. Каким инструментом воспользоваться,чтобы получить печатную форму документа? Нашел от это http://community.jaspersoft.com/project/jasperreports-library , но как ей пользоваться. Мануалов что-то не нашёл
  24. Таймер

    Ребят помогите остановить таймер. Проблема в том что когда заканчивается определенное время, таймер уходит просто в минус. function CalcTimePercent(i, lastpayment, nextpayment, t, p) { var time = nextpayment - t; var hour = parseInt(time / 3600); if ( hour < 1 ) hour = 0; time = parseInt(time - hour * 3600); if ( hour < 10 ) hour = '0'+hour; var minutes = parseInt(time / 60); if ( minutes < 1 ) minutes = 0; time = parseInt(time - minutes * 60); if ( minutes < 10 ) minutes = '0'+minutes; var seconds = time; if ( seconds < 10 ) seconds = '0'+seconds; timer = hour+':'+minutes+':'+seconds; document.getElementById('deptimer'+i).innerHTML = timer; if(timer == "00:00:00") { top.location.href='deposits/'; if(timer == "00:00:00") } t = t + 1; setTimeout("CalcTimePercent("+i+", "+lastpayment+", "+nextpayment+", "+t+", "+p+")",1000); }
  25. Нужна ссылка ткните Покажите что устанавливать а что нет. как сделать ее русской то есть поставить руссификатор