Jump to content

Recommended Posts

Posted

Interesting .... Go for more. Nice to see new stuff around. Mby you come with brand new ideas wich will bring l2 private to new level. Good luck

Posted (edited)

Using your patched L2server with last dll error 0x0c000001d

Using loader with patched l2server same error (dll is attached to l2server).

Using loader with l2server_orig show error L2Server.exe wasn't able to load MyExt64.dll

Edited by zconll
Posted

Using your patched L2server with last dll error 0x0c000001d

Using loader with patched l2server same error (dll is attached to l2server).

Using loader with l2server_orig show error L2Server.exe wasn't able to load MyExt64.dll

 

That's bad, I really don't know where could be the problem and I have only win2k8 machines where everything works (patched l2server, loader, everything...) :(

 

Maybe try to create a new topic in general l2off discussion...

Posted (edited)
Thank you for your effort,

 

If someone using this extender, he can verify with Windows Server 2003 sp2 and AMD Phenom II 4x processor is working, It would be of great help.
 
Thanks again .
Edited by zconll
Posted

At some point you're probably gonna want an L2NPC ext, which uses sharedfactory, so you will want to (probably sooner rather than later) split your sharedfactory headers into a shared library.

 

/* 0x002C */ unsigned char padding0x002C[0x00A4-0x002C];

^ this kinda stuff is a nightmare when you come to add a new var somewhere in the middle, as it's all 8 byte aligned you could just split it out to INT64 placeholders which makes it much easier to add vars later

 

Also, the ext is not going to work properly on gf 87 as ncsoft fucked the ex packets, I don't think I have my 87 ext anymore but if I find it I'll post the opcode corrections for it

Posted

At some point you're probably gonna want an L2NPC ext, which uses sharedfactory, so you will want to (probably sooner rather than later) split your sharedfactory headers into a shared library.

/* 0x002C */ unsigned char padding0x002C[0x00A4-0x002C];

^ this kinda stuff is a nightmare when you come to add a new var somewhere in the middle, as it's all 8 byte aligned you could just split it out to INT64 placeholders which makes it much easier to add vars later

 

Also, the ext is not going to work properly on gf 87 as ncsoft fucked the ex packets, I don't think I have my 87 ext anymore but if I find it I'll post the opcode corrections for it

 

I'm still new in this all and still learning, what is sharedfactory?

 

Those paddings were nightmare until I figured out how to write it (unsigned char [nextOffset-thisOffset]), then it's easy, you just add the variable where you want and split padding to two paddings (before and after) and just copy/paste offsets, no more need for calculator :)

 

I have some packet rewrite even for protocol 87 but if they changed content of packets, I'm screwed

Posted (edited)

sharedfactory is any shareddata class so

CSharedCreatureData
CSharedItemData
CSharedPledgeData

 

etc etc etc, they are all stored in shared memory between l2server and l2npc so when you make an l2npc ext the headers for those will need to be available to that project also, you can just include across the projects but a shared library project is cleaner and enables you to share other things like memory read/write classes and other stuff which will be common to all extenders in the project (as you're gonna need a cached ext also at some point too)

Edited by Anarchy
Posted

sharedfactory is any shareddata class so

CSharedCreatureData

CSharedItemData

CSharedPledgeData

 

etc etc etc, they are all stored in shared memory between l2server and l2npc so when you make an l2npc ext the headers for those will need to be available to that project also, you can just include across the projects but a shared library project is cleaner and enables you to share other things like memory read/write classes and other stuff which will be common to all extenders in the project (as you're gonna need a cached ext also at some point too)

 

I'm bit confused now, I thought these are sent over network, aren't they?

 

I was thinking about single DLL to extend all four daemons - it's not difficult to detect who loads it and select the right initialization function/class.

Posted (edited)

The only thing sent over the network is instructions. The actual data for players/npcs/items/etc, at least the shared data anyway, is stored in shared memory created by the l2server as transferring every single update of every single player/npc/item etc over network would be completely impractical.

Edited by Anarchy
Posted

The only thing sent over the network is instructions. The actual data for players/npcs/items/etc, at least the shared data anyway, is stored in shared memory created by the l2server as transferring every single update of every single player/npc/item etc over network would be completely impractical.

 

Sound like good performance boost but how does it work when the three daemons run on three different machines? Or it's not possible? (I never tried it, I've always run them on single machine so I don't know)

Posted (edited)

l2server and l2npc are the only two which share memory and so have to be on the same machine, any other daemons can be where ever they like

 

Thanks for clarification :)

 

What do you think about that idea with single DLL?

 

EDIT: Look at my last version, I've tried it and it looks it will be good :)

Edited by eressea

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • I’m coming to you with a small update — internal testing is currently underway. We’re working on catching minor issues and resolving them before the server launch 😉 In the near future, we’re planning public tests, which you’ll all be invited to. At the same time, I’ll be sharing a few Quality of Life changes coming to L2 Genesis.   Even if you’re not interested in playing right now, but you are a long-time Lineage 2 player, feel free to join our community. We would greatly appreciate your experience and feedback to help us improve and develop our project. Join the growing L2Genesis community: https://discord.gg/mcuHsQzNCm Also check our website: https://l2genesis.com/   Offline Shop System — run your shop without being online.   Buff Shop System — playing as a buffer? When you’re not in the game, sell buffs! Reworked classic interface, adapted to Interlude — shown here with the inventory menu as an example. New custom mob drop and spoil preview. DualBox Verification System — each player can only use one active account at a time. Genesis Wiki — a collection of all essential information about items, NPCs, drops, spoils, and quests.
    • https://gitlab.com/Tryskell/acis_public nai swsta, exeis kati pio updated na mas protineis? 
    • 🔥 L2Gold Enma – High Rate PvP Interlude 🔥 Interlude Chronicle • C6 Skills • Pure PvP Experience Welcome to L2Gold Enma, a high-rate PvP server designed for players who want instant action, balanced gameplay and nonstop PvP, without pointless grinding. ⚔️ Server Rates XP / SP: x1000 Adena / Drops: x10 Chronicle: Interlude Skills: C6 balanced skills Buff duration: 2 hours No weight limit 🎮 Gameplay Philosophy Fast leveling, instant PvP Clean Interlude experience No pay-to-win mechanics Focus on skill-based PvP 🛡️ Core Features Global Gatekeeper Offline shops Auto events (TvT, DM, CTF, etc.) Retail-like Olympiad with custom balance Active Raid Bosses Easy access to PvP gear 🏰 PvP & Competition Mass PvP & clan wars Meaningful castle sieges Olympiad focused on player skill Balanced classes for both solo & group PvP ⚡ Why L2Gold Enma? Interlude nostalgia with C6 skills High rates, low grind Stable server & active development Community-focused updates 💥 Join L2Gold Enma and dominate the battlefield! This is not a farm server. This is PvP   https://l2gold-enma.com/ https://discord.com/invite/Ba9cHj3HUJ
    • Hi I'm still online for this but making backup of everything in that time I didn't organize well so let me create a pack and upload to archive.org maybe. Thanks ! we can enrich togethers this if everyone add more and more old files.
  • Topics

×
×
  • 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..