Jump to content

Elfo

Legendary Member
  • Posts

    2,022
  • Joined

  • Last visited

  • Days Won

    60
  • Feedback

    0%

About Elfo

Profile Information

  • Current Mood
    Angry
  • Gender
    Male
  • Country
    United Kingdom

Recent Profile Visitors

21,683 profile views
  1. There is no need for gRPC in this case, even tho originally it was gRPC based but since we don't need it to be bi-directional, we switched to simple http requests for the web calls and SSEs for the data streamed from the server. There are distributed locks in place to precent race conditions between actions that can happen between multiple web instances and the server. Local models can also be slow depending on the model, and most external models can actually be faster than local ones if you use Flash 2.5 or something along those lines. I am running on 512GB of Unified Memory on my Mac Studio M3 Ultra so the speed of the local model for a small model is pretty good but I tested it with Gemini too and it works equally as fast and in some cases faster. The way it works is that I'm using pgvector (one of the benefits of moving to Postgres) to search the data and see what the player can see etc and there is some batching of the next few actions for 2-4 seconds for the user until the next LLM request fires. The batching also includes branching on logic so if they for example fall under some HP they will move to kiting instead of attacking or maybe they heal etc. Everything is authed and permission-based. The server and the backend of the frontend have secure communication between them, either with a symmetric key (not recommended for production) or a certificate (the recommended way), so there is no worry. It's all tied to the account's access level, etc., so nobody can make an action that they normally wouldn't be allowed to do. Even the MCP is token-based, and there are prompt injection protections in place. The MCP is audited, and every mutation needs confirmation. The admin area is only accessible to the admin account anyway so normal users can't access it.
  2. I came out of my cave as I do once every 5 years. By now, I know nobody really cares about L2, but I still find it fun to experiment. Everything you see here will be free and open source. I have no interest in selling anything. Long story short, I like to revisit Interlude and apply what I've learned to see how far I can push it. Here's Outerlude, a public fork of aCis for the modern age. Video demo: Work that has been done: Redone the netcode from scratch to be async The NPC AI was completely redone based on Finite State Machines Moved to PostgreSQL and using some of its cool features Lots of config that should be hot reloadable has moved to the database OpenTelemetry instrumentation, where it makes sense, and a Grafana dashboard A built-in REST API for server management A built-in MCP Server for LLMs Nidrah AI, an AI Agent to make managing the server easier Real-time server map view Chat auditing and live snooping A new Fake Players Engine with a Node logic system and a new LLM planner for any behavior Just watch the video If there is interest in this and I'm happy with it, or I get bored (which I always do), I will open-source it. Let me know what you think and if there is some feature you'd like me to implement.
  3. Yeah, it's pretty good if you give it enough context on what you want it to do for you. If you leave it vague, you will get the same generic dark background gradient purple AI-generated looking website, but it's much better at generating unique ideas when you give it some context. Highly recommend it.
  4. Use Claude Design or Pencil and make a banging, fresh design. Using a template is boring
  5. If it is AI-generated, you used a really shit model. Even AI wouldn't be able to generate obvious errors like the badge misalignment. I do find it funny, however, that out of everyone to accuse you, Splicho, who used AI to fully generate this https://nimeracp.com/, is the one to talk.
  6. Open it I wanna play
  7. Yeah, that's fair. I'll create a full AI-based fake player engine out of this to see how far it can go.
  8. Ofc it does . All it was trained on was farming for levelling. It's not about doing something unpredictable. It's about potential. Feed it a bigger context and train it on class-specific fighting patterns, buffing, item values, trading, chatting in L2 lingo, reading trade chat, party-based farming, crafting goals, etc, and you have something that a normal deterministic bot would take a really long time coding to achieve. Add that to all of the work being offloaded to a model instead of the gameserver, and you have a much better solution that feels way more natural. Ofc you can do pretty much everything with a state machine but you'd have to write insane amounts of code. It's a waste of time. Don't be blindsided by your hate for AI. There is considerable potential here.
  9. You'll need to test it, but you need at least some decent GPU power for it to be reasonably fast. What you can also do is predictive actions, so send a single request that is bigger, let it take some time and then instruct the response to include a batch of 5-10 followup actions which can be processed on the client (the l2 server).
  10. I don't really work on L2j anymore, but from time to time, I check up the forums just in case someone built something cool, and I stumbled upon this: It's actually really easy to implement LLMs (both local, like gpt-oss, and online, like ChatGPT or Gemini) for any sort of action in L2. Even without training a model explicitly, a good GPU and some basic LLM knowledge can take you very far. Here is an example of an auto play bot I made in 10 minutes that uses gpt-oss (which is mega overkill) locally with a 5090 to do some basic farming. As you can see from the LM Studio responses, it is fairly fast (and uses reasoning too) to think about what's the best course of action for a given situation. Basically just a quick proof of concept. If I had time, I would make something like this for auto-play/farm or bots, since LLMs would play really nicely with fake players that can actually think and are not completely pre-programmed. It's quite cool.
  11. It's cool, but this would be better on a website. The CB doesn't lend itself to the full potential of what you're trying to do.
  12. What you linked, is my code. It is already shared for 382 here;
  13. Scrap the poll. Make a server YOU would play. It's that simple.
  14. There is nothing special to adat. The service itself is cross-chronicle and the l2j code is so minimal it should be easily adaptable
×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..