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.
----------2025----------
TheDarknessFear promoted to Gaming Moderator. Reason: Very active and helpful. (3 September 2025)
Atom promoted to Gaming Moderator. Reason: Promotion by Maxtor. (3 September 2025)
Question
macman90
I'm using Interlude datapack and serverfiles and I'm getting this message after I use /unstuck or I teleport with the GK( 2-3 times after that):
2007.10.23 14:38:10
OS : Windows XP 5.1 (Build: 2600)
CPU : GenuineIntel Unknown processor @ 2801 MHz with 2046MB RAM
Video : NVIDIA GeForce FX 5900 Ultra (NGOHQ.com) (9792)
General protection fault!
History: UStruct::SerializeBin <- (Class Engine.ShadowBitmapMaterial ShadowActor[0]) <- UObject::Serialize <- (ShadowBitmapMaterial Transient.ShadowBitmapMaterial5) <- TestReach <- (ShadowBitmapMaterial Transient.ShadowBitmapMaterial5) <- UStruct::SerializeBin <- (Class Engine.ShadowProjector ShadowTexture[0]) <- UObject::Serialize <- (ShadowProjector 20_18.ShadowProjector195) <- AActor::Serialize <- TestReach <- (ShadowProjector 20_18.ShadowProjector195) <- ULevelBase::Serialize <- ULevel::Serialize <- TestReach <- (Level 20_18.myLevel) <- UStruct::SerializeBin <- (Class Engine.GameEngine GLevel[0]) <- UObject::Serialize <- (GameEngine Transient.GameEngine0) <- UGameEngine::Serialize <- (GameEngine Transient.GameEngine0) <- UGameEngine::Serialize <- (GameEngine Transient.GameEngine0) <- TestReach <- (GameEngine Transient.GameEngine0) <- TArray<< <- UGameEngine::L2SerializeRootSet <- UGameEngine::L2CollectGarbage <- UGameEngine::DetachLevel <- UGameEngine::CheckPurgeLevel <- Level_was_loaded <- UGameEngine::L2_Teleport <- UGameEngine::Tick <- UpdateWorld <- MainLoop
I'm worried about the lines:
UGameEngine: - I've tried with newer and older datapacks and serverfiles but I'm still getting this...
UGameEngine::L2_Teleport <- UGameEngine::Tick <- UpdateWorld <- MainLoop - If it's the L2_Teleport how I fix the teleportation
I think that all is coming from my Custom NPC Teleporter but it works just fine. Just an example:
My friends also get the same error and I don't think the reason of this is the client side...
Any suggestions... :-\
7 answers to this question
Recommended Posts