Lineage2TS - HF сервер написанный на Typescript

Ну например если зайти в //gmshop и что нибудь выбрать, пишет, что admin_buy не существует
Такой команды пока нет. Почему бы не использовать другие что-бы получить что-то подобное?
 

Ну можно автору оплатить подписку на cursor и я думаю он начнет быстрее работать 👌ну или мне и я начну быстрее работать 🤣🤣
Я не против доната. Но сейчас планов по донату как таковых нет. Ну и врядле донат покроет ту зарплату которую я получаю. Я ведь до сих пор работаю инженером-программистом. Вопрос скорее в том что люди хотят видеть сейчас и какую функциональность нужно править. Так что жду ответов на ворпос "Что бы вы хотели видеть на сервере?" (это не вопрос o архитектуре, a именно о функциональности которая позволяет что-либо делать, а то меня уже заморочили с указаниями про БД, как будто тут только одни архитекторы развелись).
Ну например если зайти в //gmshop и что нибудь выбрать, пишет, что admin_buy не существует
Забыл спросить насчет каких команд вы бы хотели видеть на сервере? И самое главное как вы их используете? Вопрос в том что-бы улучшить сам процесс играбельности в мире L2, но именно через такие вот команды административного использования.
 
Нет, не в такой конфигурации. Ваще по камильфо - docker-compose должен быть в руте самого проекта

Код:
services:
  default:
    # ...
  prod:
    # ...
    profiles: ['prod']

Потом

`docker compose up -d`
`docker compose --profile prod up -d`

При этом дефолтный будет пойнтить на локальный Dockerfile и билдить его, и мапать volumes к локальным конфигам и логам.

Но даже так при изменения сурсов вам нужно будет ребилдить весь проект и молится на слои кэша что какбы убивает весь смысл этого проекта который по чему я вижу - быстрое прототипирование идей, и игровых концептов, hot reload без дисконов и прочее.

Вариации как сделать правильно тут много. Но если кратко - докер юзаете либо как демо, пощупать проект побыстрому. Либо когда в прод выходите. Все остальное локально запускайте.

Ваще рэкомендую 🍷.

Руки так и чешутся зафоркать этот проект...эх время
🏴‍☠️
Начал смотреть про nix.dev, если коротко как он вообще применим тут? Будто он совершенно для других задач создан - запуск платформ зависимого кода вне зависимости от платформы
 
Я не против доната. Но сейчас планов по донату как таковых нет. Ну и врядле донат покроет ту зарплату которую я получаю. Я ведь до сих пор работаю инженером-программистом. Вопрос скорее в том что люди хотят видеть сейчас и какую функциональность нужно править. Так что жду ответов на ворпос "Что бы вы хотели видеть на сервере?" (это не вопрос o архитектуре, a именно о функциональности которая позволяет что-либо делать, а то меня уже заморочили с указаниями про БД, как будто тут только одни архитекторы развелись).

Забыл спросить насчет каких команд вы бы хотели видеть на сервере? И самое главное как вы их используете? Вопрос в том что-бы улучшить сам процесс играбельности в мире L2, но именно через такие вот команды административного использования.
Ну вот смотрите, повторюсь, я не разработчик и описанное выше в теме про выбор бд я не совсем понимаю. Однако, имея некий "пользовательский" опыт в настройке сервера, компиляции сервера из исходников и запуска оного, руководствуясь гайдами "поднимем сервак за 10 минут", я могу сделать вывод, что почти на каждом этапе есть некие трудности, то версия явы не та, то серв не компилится выдавая тонну ошибок, то еще что... Например мне, как обычному любителю ла2, хочется иногда просто вечерком с друзьями, человек 5, побегать в игре и ваш проект - это лучшее решение, что я нашел для себя. Не углубляясь в техническую часть, за пару часов, что я поиграл, меня тоже отправило в нулевую координату, очень хотелось бы pathfinding, ну и побольше гм команд.
 
Ну вот смотрите, повторюсь, я не разработчик и описанное выше в теме про выбор бд я не совсем понимаю. Однако, имея некий "пользовательский" опыт в настройке сервера, компиляции сервера из исходников и запуска оного, руководствуясь гайдами "поднимем сервак за 10 минут", я могу сделать вывод, что почти на каждом этапе есть некие трудности, то версия явы не та, то серв не компилится выдавая тонну ошибок, то еще что... Например мне, как обычному любителю ла2, хочется иногда просто вечерком с друзьями, человек 5, побегать в игре и ваш проект - это лучшее решение, что я нашел для себя. Не углубляясь в техническую часть, за пару часов, что я поиграл, меня тоже отправило в нулевую координату, очень хотелось бы pathfinding, ну и побольше гм команд.
Спасибо за отзыв. Буду чинить эту проблему и добавлять //gmshop
 
мб имеет смысл открыть ALT+G(админка дефолтная) и реализовать все необходимые команды из нее.
Большинство команд уже работает, просто в некоторых случаяx используется страницы от L2J, и они просто не совпадают с тем что уже есть. То есть например тот же //gmshop , он в принципе показывал html и можно было переходить со страницы на страницу, но команда buy (от buylist) была переименованна в buylist. То же самое существует и в //admin, почти все части его работают, но нужно переписывать на новые команды, так как есть множественные обновления как по функциональности (например больше кнопок показываеться, либо больше инфы) так и по группировке команд (существуют меню разделы где вся функциональност собирается). Поэтому нужно просто облазить все эти html и править их, в некоторых случаях вообще замещать.

Но мне интересно что вы считаете нужно сделать по другому для админ панели в сравнении с L2J или PTS сервером?

Кстати, если вы говорите о панели, то пакеты для такой панели уже есть и должны работать.
 
Большинство команд уже работает, просто в некоторых случаяx используется страницы от L2J, и они просто не совпадают с тем что уже есть. То есть например тот же //gmshop , он в принципе показывал html и можно было переходить со страницы на страницу, но buy (от buylist) была переименованна в buylist. То же самое существует и в //admin, почти все части его работают, но нужно переписывать на новые команды, так как есть множественные обновления как по функциональности (например больже кнопок показываеться, либо больше инфы) так и по группировке команд (существуют меню разделы где вся функциональност собирается). Поэтому нужно просто облазить все эти html и править их, в некоторых случаях вообще замещать.

Но мне интересно что вы считаете нужно сделать по другому для админ панели в сравнении с L2J или PTS сервером?
Я имею ввиду, что опираться имеет смысл на дефолтную админку PTS, которая открывается командой ALT+G у админ чара, а не на L2jServer. Там захардкожен набор базовых админ команд, которые работают на PTS из этой админки. Это не кастом, а буквально корейская админка.
Про реализацию L2j команд речи не идет.
 
Я имею ввиду, что опираться имеет смысл на дефолтную админку PTS, которая открывается командой ALT+G у админ чара, а не на L2jServer. Там захардкожен набор базовых админ команд, которые работают на PTS из этой админки. Это не кастом, а буквально корейская админка.
Про реализацию L2j команд речи не идет.
И как эти базовые команды должны работать?

Сейчас кстати проверил. Большинство кнопок работает. Некоторые правда не работают из-за того что команды не сделаны.
 
И как эти базовые команды должны работать?
Есть два варианта это узнать.
1) Развернуть ПТСку ХФ и потыкать-посмотреть.
2) Открыть сурс слитого 162 и посмотреть реализацию там.

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

PS: Я вот про это окошко, GMWnd.uc
1751580008571.webp
 
Последнее редактирование:
Есть два варианта это узнать.
1) Развернуть ПТСку ХФ и потыкать-посмотреть.
2) Открыть сурс слитого 162 и посмотреть реализацию там.

PS: Я вот про это окошко, GMWnd.uc
Посмотреть вложение 87924
Да, все показывает и вроде работает. Но все криво и безвкусно. Да и опций тут уж очень немного. Меня вот смущает то что уж очень все там урезанно из того что можно делать. Как по датапаку сервера, так и окружаещего мира вашего персонажа. Там начиная со спаунов, и зон, и продолжая в команды геодаты, ну и заканчивая различными фичами администрации сервера. Например как можно управльять кармой персонажа? Или например администрировать циклы Seven Signs?

Вот пример поиска предметов. Написал "adena" и ничего не нашло. А если "Adena" тогда все нормально. И там только одна кнопка в окошке при показывании результатов "Summon" . И что мне делать что-бы получить эту адену?

У меня можно искать все с чата. Например, при написании "//search-item-name adena" у меня будет показывать вот что.
2025-07-03 17_11_22-CompatWindow.webp

и потом если кликнуть на "View" будет следующее

2025-07-03 17_11_10-CompatWindow.webp

И так можно искать что угодно, но вот еще один пример того что будет показываться на сервере. В зависимости от предмета будет дополнительная информация о функцияx предмета (например ингредиенты если это рецепт, или магические скиллы если предмет их имеет):

2025-07-03 17_15_23-CompatWindow.webp
2025-07-03 17_16_13-CompatWindow.webp

Где мне все это увидеть в админ панеле в клиенте?
 
Я не говорю вам, что клиентская админ панель идеальная или ее сравнивать можно с хорошей кастомной панелью. Я говорю про то, что совместимость серверной части с админкой клиента позволяет не заставлять потенциального админа-тестера для вас тратить неделю на изучение вашей версии админки и вашего синтаксиса команд(т.к я уверен, что вы не предусмотрели подробную документацию в клиенте для этого случая), а позволит сразу начинать тесты, т.к подавляющее большинство админов так или иначе имеют опыт использования этой админки. Причем как ПТС админы, так и с ява сборок.
И там нет каких-то проблем с вызовом адены или спавном мобов.

Посмотреть вложение Запись 2025-07-04 013645.mp4
Посмотреть вложение Запись 2025-07-04 013719.mp4
Посмотреть вложение Запись 2025-07-04 014208.mp4
 
Я не говорю вам, что клиентская админ панель идеальная или ее сравнивать можно с хорошей кастомной панелью. Я говорю про то, что совместимость серверной части с админкой клиента позволяет не заставлять потенциального админа-тестера для вас тратить неделю на изучение вашей версии админки и вашего синтаксиса команд(т.к я уверен, что вы не предусмотрели подробную документацию в клиенте для этого случая), а позволит сразу начинать тесты, т.к подавляющее большинство админов так или иначе имеют опыт использования этой админки. Причем как ПТС админы, так и с ява сборок.
И там нет каких-то проблем с вызовом адены или спавном мобов.
Я согласен o том что если брать очень урезанные функциональные способности панели, то там и нечего то учить и усваивать подробности. Вопрос скорее о том насколько такая панель нужна. Как я и сказал ранее что да, в принципе половина функционала панели работает, но я досих пор не понимаю почему это все приветствуется по сравнению с кастомными панелями. Конечно такая панель будет в клиенте и как вы описали, не нужно все изучать. Но ведь при игре будут возникать ситуации когда эта вся урезанная функциональность просто не будет достаточнa. Я поэтому и хотел узнать насколько бы это все улучшить по сравнению с тем что уже было созданно на PTS или L2J. И да, когда доделаю команды все будет работать. Но это будет всегда самым худшим методом достижения административных целей (смысл то в том что на любых сборках пишут все кастомное и команды в любом случае нужно будет изучать, даже если их две или три с самыми главными меню).

Насчет тестирования это отдельная тема. Поиграть с админ командами или же проверить некоторую функциональность сервера?

т.к я уверен, что вы не предусмотрели подробную документацию в клиенте для этого случая
Конечно сам клиент я не изменяю, но документация в кратком виде есть на самом сервере при использовании команды //help Где будет показан перечень команд по алфавиту. Вот примеры описаний команд:
2025-07-03 19_34_01-CompatWindow.webp 2025-07-03 19_36_32-CompatWindow.webp
 
А подскажите на каком протоколе работает? Или просто брать клиент HF и все?
 
А есть инструкция по установке на Винде? Или лучше на Linux поставить? А так задумка конечно потрясающая сделать сервер на js + ts
 
А есть инструкция по установке на Винде? Или лучше на Linux поставить? А так задумка конечно потрясающая сделать сервер на js + ts
Пока установка возможна только через docker (это что-бы не все компилировать и собирать по частям). Линукс кончно будет немного легче. Например можно сервер поставить работать через WSL и docker. Можно почитать инструкцию по запуску тут: или же посмотреть docker-compose тут https://mmo-dev.info/threads/lineage2ts-hf-сервер-написанный-на-typescript.31587/post-257631
 
Пока установка возможна только через docker (это что-бы не все компилировать и собирать по частям). Линукс кончно будет немного легче. Например можно сервер поставить работать через WSL и docker. Можно почитать инструкцию по запуску тут: или же посмотреть docker-compose тут https://mmo-dev.info/threads/lineage2ts-hf-сервер-написанный-на-typescript.31587/post-257631
зачем такой Геморой?
Тупо установи node js
Скомпилируй исходники и запускай
Отвечаю на вопрос mizurkin
 
зачем такой Геморой?
Тупо установи node js
Скомпилируй исходники и запускай
Это из темы мазохистов с Явы. Там тоже так много делают. И еще гордяться что сидят и правять данные в БД! Это надо же сколько скуки нужно все это делать. Но кому как, я же не против. Компилируйте все и вся.

Одной компиляцией не обойдеться. Нужно подготовить файлы главной БД, датапака и гео-пака. Это дополнительные операции где нужно все файлы разместить в особом месте и сгенерить четыре БД файлa: два файла для игорового и логин серверов, один для датапака и один для гео-пака. Инструкции как это сделать тоже есть, все описанно, даже можно все делать через скрипты npm. Даже можно тот же самый Dockerfile взять и сделать все автоматически. Опций море.

Но я к чему. Есть идея намного проще это сделать. Например засунуть все JS файлы в exe-шник и только оставить файлы БД и паков что-бы люди могли все это скачивать. Nodejs позволяет это делать сейчас (раньше это было проблематично). Почему это не было сделанно раньше? Потому что все достаточно сложно сделать автоматичестки. Для линукса это самый простой вариант. Для окошек, тут жесть. Почему? Так как я использую Gitlab я могу все сам и делать, то есть мне платить за CI/CD не надо, но нужны компьютеры для того чтобы все работало. Так вот, docker нужен был, да и сейчас тоже надо, что-бы можно было как и скачивать так и тестировать все автоматически. Это уже достигнуто и работает на ура (все автоматом, и не какой то там unit testing, a внешнее тестирование сервера). Дальше нужно пару других систем, например на Windows и Raspbery Pi 3/4 (или Orange PI) для того что-бы можно было делать билды других систем (как по докеру так и самих exe-шников). Так вот, это сделать не очень трудно. Но вопрос тогда будет где все это вылаживать для скачивания.... Вот и буду решать такую проблему. Но это как раз и будет самый лучший вариант для сервера, что позволит людям под Windows не слишком заморочиваться с запуском сервера.

Кстати можно даже не компилировать а использовать скрипты npm, так как они тоже включают режим запуска сервера через ts-node. Вам только нужны файлы БД /паков и все. Так что все зависит от того насколько вам охота тратить свое время.
 
Добрый вечер уважаемый MrThirtyOddSix , подскажите пожалуйста все решил сделать по интсрукции, но у меня возникли проблемы, немогли бы вы немного помочь,

LoginServer Запустился
Game-Server вылетает с ошибкой
[23:00:07.814] ERROR (L2TS Game/26232): Query select npcId, itemId, energy from agathions has error no such table: agathions

В CLI попробовал создать пользователя для входа, но и тут закралась ошибка

SqliteError: NOT NULL constraint failed: accounts.createdTime
 
Назад
Сверху