Please enable / Bitte aktiviere JavaScript!
Veuillez activer / Por favor activa el Javascript![ ? ]
[Share] Myext64 - My New Opensource Gracia Final/epilogue Extender - Server Shares & Files [L2OFF] - MaxCheaters.com

Jump to content

Welcome to MaxCheaters.com
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!

Announcements!

Dont forget to follow the rules and staffer rules

Check Our Daily News and Updates ,Like Us @ Facebook

Advertising information here

New forum upgrade coming soon


Photo

Myext64 - My New Opensource Gracia Final/epilogue Extender



  • Please log in to reply

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users


258 replies to this topic

#1
eressea

eressea
    • Level 20 Cheater
    • VIP Member
    Posts:
    282
    Reputation:
    5
    Member:
    134050
    Joined:
    07-October 13
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

I'm writing a brand new Gracia Final/Epilogue extender, if you want to try it or have a look at sources, I'll put some development versions here: it's hosted on bitbucket.

 

Please Login or Register to see this Hidden Content

 

Please Login or Register to see this Hidden Content

 

Now it does almost nothing but I'll add some new stuff over time... I'm adding new stuff over time :)

 

MyExt64

What is MyExt64
MyExt64 is new opensource extender for l2off Gracia Final server (l2_off_gracia_final). It uses some knowledge from OSIE extender, MXC extender and maybe other extenders.

 

Features

  • Supports protocols 83 (Gracia Final) and 152 (Gracia Epilogue update 1)
  • Protocol 87 (Gracia Final update 1) should be working but is not tested
  • Supports Gracia Epilogue skill enchanting + buy/sell (refund and mail not implemented yet)
  • Bunch of bugfixes (some ported from OSIE, some ported from MXC extender)
  • Voice commands - offline trade, experience gain on/off, server time, online player count
  • Configurable item enchant (safe/chances)
  • Custom drop/spoil rate algorithm
  • Custom event drop algorithm (flat chance based)
  • Players in the same command channel are treated as allies
  • Configurable max level for main/subclass
  • Global shout/trade
  • Vitality multiplier
  • Configurable clan restriction (penalties)
  • Configurable buff slot count + max divine inspiration bonus
  • Configurable vitality level ranges
  • Configurable autoloot system
     

How to use it
If you're not familiar with l2off, it will probably require learning some stuff (MXC forum is a good start).

To just use the last build, copy following files from server folder in this repository to your server folder:

* MyExt64.dll - main extender file
* MyExt64.ini - extender configuration
* MyExt64Loader.exe - extender loader

and run the server via MyExt64Loader.exe

If you're more experienced with messing around PE files, you can add MyExt64.dll to import table of L2Server.exe and add call to DllMain.

How to compile it
You should get Visual Studio 2005. Maybe it would be possible to compile it on some newer Visual Studio, but you'll have to define your own templates for std::vector and std::map (and possibly more containers) to match memory layout of their VS2005 versions.

MyExt64 has no external dependencies and requires only standard libraries for Windows development.


Edited by eressea, 26 July 2016 - 11:41 PM.

  • 0
Emca
 
--
 
They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety -- Benjamin Franklin

Do unto others as they do unto you -- Anton Szandor LaVey

 

L2 Shrine - Gracia Final 4x l2off retail NO DONATE - https://l2shrine.com/


#2
xeL

xeL
    • Level 56 Cheater
    • Members
    Posts:
    1,088
    Reputation:
    15
    Member:
    20588
    Joined:
    09-May 08
  • Current Mood:
    Emotions'
  • Gender:
    Male
  • Country:
    Country Flag
  • Location:
    Rune
  • User's Feedbacks

  • 100% 3 0 0

some of source files are from other extenders? like CLog and user?


My current work:
L2OFF GM Panel (ongoing):
http://www.maxcheate...-panel-v22-new/
Contact: l2xguard@live.com
Posted Image

#3
eressea

eressea
    • Level 20 Cheater
    • VIP Member
    Posts:
    282
    Reputation:
    5
    Member:
    134050
    Joined:
    07-October 13
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

some of source files are from other extenders? like CLog and user?

 

CLog is in fact from l2server itself - now I have only 2 functions and 2 constants, not much, but I don't need more for now

 

I get some inspiration from OSIE (packet handler hooking etc), some inspiration from c4-based extenders I've found and of course some inspiration from l2server itself, but I don't copy code as is (except some tiny pieces of machine code in hex which probably can't be written better)


Edited by eressea, 19 June 2016 - 07:11 PM.

Emca
 
--
 
They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety -- Benjamin Franklin

Do unto others as they do unto you -- Anton Szandor LaVey

 

L2 Shrine - Gracia Final 4x l2off retail NO DONATE - https://l2shrine.com/


#4
AchYlek

AchYlek
    • Level 77 Cheater
    • Members
    Posts:
    4,588
    Reputation:
    0
    Member:
    103078
    Joined:
    11-October 11
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

I'm writing a brand new Gracia Final/Epilogue extender, if you want to try it or have a look at sources, I'll put some development versions here:

 

Please Login or Register to see this Hidden Content

 

Now it does almost nothing but I'll add some new stuff over time...

osamelahora . cz   gg nice web ;D



#5
eressea

eressea
    • Level 20 Cheater
    • VIP Member
    Posts:
    282
    Reputation:
    5
    Member:
    134050
    Joined:
    07-October 13
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

New version 

Please Login or Register to see this Hidden Content

What's new: bugfixes and Gracia Epilogue skill enchanting


Edited by eressea, 19 June 2016 - 09:45 PM.

Emca
 
--
 
They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety -- Benjamin Franklin

Do unto others as they do unto you -- Anton Szandor LaVey

 

L2 Shrine - Gracia Final 4x l2off retail NO DONATE - https://l2shrine.com/


#6
Szakalaka

Szakalaka
    • Level 59 Cheater
    • Members
    Posts:
    1,333
    Reputation:
    3
    Member:
    74547
    Joined:
    10-June 10
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

So many opportunities for templates. 0 templates :(

 

Oh i see that opportunity for packet sending and receiving... 100% templated... Oh!

Can you make my dream come true?


Edited by Szakalaka, 19 June 2016 - 09:52 PM.

I can turn a jack, I can lay a track, I can pick and shovel too
(can you swing a hammer boy?) I can I'll do anything you hire me to

He registered 10-6-10. His ID is 7-4-5-4-7

How did he do it?

If you have a Java background, youProbablyUseLowerCamelCase like this; if your background is C#, YouProbablyUseUpperCamelCase like this. Ada programmers Typically_Use_A_Lot_Of_Underscores, Microsoft Windows/C programmers tend to prefer “Hungarian” style (jkuidsPrefixing vndskaIdentifiers ncqWith ksldjfTheir nmdsadType), and folks with a Unix/C background abbr evthng n sght, usng vry shrt idntfr nms. AND THE FORTRN PRGMRS WHO LIMIT EVRYTH TO SIX CAPITL LETTRS.


#7
xxdem

xxdem
    • Level 58 Cheater
    • Members
    Posts:
    1,276
    Reputation:
    1
    Member:
    163556
    Joined:
    07-May 15
  • Current Mood:
    Emotions'
  • Gender:
    Male
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

So many opportunities for templates. 0 templates :(

 

Oh i see that opportunity for packet sending and receiving... 100% templated... Oh!

Can you make my dream come true?

 

ur the classic example why C++ sucks balls today


a.k.a xdeadlymarksman

 


#8
Szakalaka

Szakalaka
    • Level 59 Cheater
    • Members
    Posts:
    1,333
    Reputation:
    3
    Member:
    74547
    Joined:
    10-June 10
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

But on a serious note, why do you use OpenProcess, VirtualProtectEx and all the HANDLE based operation when its a dll so its in the same process as the server itself?

I briefly looked throught the code :) Want to give opinion.

 

extern HANDLE server; // externs in such scenario are bad, do you even need the handle if dll is indide?

 

CUserSocket::IgnorePacket::IgnorePacket(const wchar_t *format, ...)
: std::exception() // this is redundant, default constructor

 

Disassemble(packet, "dd", &skillId, &skillLevel); // runtime format is very error prone. Imagine you write s instead of d in some rare packet. Disaster!

 

Many things should be specified as const. For example, shouldnt "wchar_t* CUser::GetName()" be actually const whar_t* ? (Not saying about raw pointer risk)

 

Singleton should definitely return a reference. With "static CSkillEnchantDB* GetInstance();" you can switch the pointed object, you can even delete it and do many other bad stuff u avoid using refernce. And btw, its possible to accidentaly copy thsi singleton xD (mark copy operator as deleted)

 

Logger should be wrapped for safe usage. Again, if you pass an int and type "s" you are dead. With usage of tempaltes you can make compiler generate typesafe code and automatically (and properly) create format for you :)

 

Generally there are too many static stuffs

 

But thats only my humble opinion, just want to help ;)

 

And to guy above, i wont even comment. Pretty sure you know jack shit about this language


Edited by Szakalaka, 19 June 2016 - 10:16 PM.

I can turn a jack, I can lay a track, I can pick and shovel too
(can you swing a hammer boy?) I can I'll do anything you hire me to

He registered 10-6-10. His ID is 7-4-5-4-7

How did he do it?

If you have a Java background, youProbablyUseLowerCamelCase like this; if your background is C#, YouProbablyUseUpperCamelCase like this. Ada programmers Typically_Use_A_Lot_Of_Underscores, Microsoft Windows/C programmers tend to prefer “Hungarian” style (jkuidsPrefixing vndskaIdentifiers ncqWith ksldjfTheir nmdsadType), and folks with a Unix/C background abbr evthng n sght, usng vry shrt idntfr nms. AND THE FORTRN PRGMRS WHO LIMIT EVRYTH TO SIX CAPITL LETTRS.


#9
eressea

eressea
    • Level 20 Cheater
    • VIP Member
    Posts:
    282
    Reputation:
    5
    Member:
    134050
    Joined:
    07-October 13
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

So many opportunities for templates. 0 templates :(

 

Oh i see that opportunity for packet sending and receiving... 100% templated... Oh!

Can you make my dream come true?

 

I use templates when I need templates, not when I see opportunity to use templates :)

 

 

Many things should be specified as const. For example, shouldnt "wchar_t* CUser::GetName()" be actually const whar_t* ? (Not saying about raw pointer risk)

 

 

 
I'd like to use std::wstring instead but I can't - do you even know what extender is and how it works? I have to do dangerous stuff there...

Edited by eressea, 19 June 2016 - 10:35 PM.

Emca
 
--
 
They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety -- Benjamin Franklin

Do unto others as they do unto you -- Anton Szandor LaVey

 

L2 Shrine - Gracia Final 4x l2off retail NO DONATE - https://l2shrine.com/


#10
Szakalaka

Szakalaka
    • Level 59 Cheater
    • Members
    Posts:
    1,333
    Reputation:
    3
    Member:
    74547
    Joined:
    10-June 10
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

I sure do. You reverse the existing compiled binary and make runtime patches to it, get data from it etc. Do your thing wish u the best :)

 

Aha, but why u cant? :)


Edited by Szakalaka, 19 June 2016 - 10:49 PM.

I can turn a jack, I can lay a track, I can pick and shovel too
(can you swing a hammer boy?) I can I'll do anything you hire me to

He registered 10-6-10. His ID is 7-4-5-4-7

How did he do it?

If you have a Java background, youProbablyUseLowerCamelCase like this; if your background is C#, YouProbablyUseUpperCamelCase like this. Ada programmers Typically_Use_A_Lot_Of_Underscores, Microsoft Windows/C programmers tend to prefer “Hungarian” style (jkuidsPrefixing vndskaIdentifiers ncqWith ksldjfTheir nmdsadType), and folks with a Unix/C background abbr evthng n sght, usng vry shrt idntfr nms. AND THE FORTRN PRGMRS WHO LIMIT EVRYTH TO SIX CAPITL LETTRS.


#11
eressea

eressea
    • Level 20 Cheater
    • VIP Member
    Posts:
    282
    Reputation:
    5
    Member:
    134050
    Joined:
    07-October 13
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

Aha, but why u cant? :)

 

I can't simply replace that wchar_t* in CSharedCreatureData structure to std::wstring so GetName() would have to create a copy every time you access it...


Emca
 
--
 
They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety -- Benjamin Franklin

Do unto others as they do unto you -- Anton Szandor LaVey

 

L2 Shrine - Gracia Final 4x l2off retail NO DONATE - https://l2shrine.com/


#12
Szakalaka

Szakalaka
    • Level 59 Cheater
    • Members
    Posts:
    1,333
    Reputation:
    3
    Member:
    74547
    Joined:
    10-June 10
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

Thats what i was talking about :)

Then why no const wchar_t*?


I can turn a jack, I can lay a track, I can pick and shovel too
(can you swing a hammer boy?) I can I'll do anything you hire me to

He registered 10-6-10. His ID is 7-4-5-4-7

How did he do it?

If you have a Java background, youProbablyUseLowerCamelCase like this; if your background is C#, YouProbablyUseUpperCamelCase like this. Ada programmers Typically_Use_A_Lot_Of_Underscores, Microsoft Windows/C programmers tend to prefer “Hungarian” style (jkuidsPrefixing vndskaIdentifiers ncqWith ksldjfTheir nmdsadType), and folks with a Unix/C background abbr evthng n sght, usng vry shrt idntfr nms. AND THE FORTRN PRGMRS WHO LIMIT EVRYTH TO SIX CAPITL LETTRS.


#13
eressea

eressea
    • Level 20 Cheater
    • VIP Member
    Posts:
    282
    Reputation:
    5
    Member:
    134050
    Joined:
    07-October 13
  • Current Mood:
    Emotions'
  • Gender:
    Female
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

Thats what i was talking about :)

Then why no const wchar_t*?

 

It really doesn't matter


Emca
 
--
 
They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety -- Benjamin Franklin

Do unto others as they do unto you -- Anton Szandor LaVey

 

L2 Shrine - Gracia Final 4x l2off retail NO DONATE - https://l2shrine.com/


#14
Jamba

Jamba
    • Level 10 Cheater
    • Members
    Posts:
    96
    Reputation:
    2
    Member:
    176942
    Joined:
    13-December 15
  • Current Mood:
    Emotions'
  • Gender:
    Male
  • Country:
    Country Flag
  • User's Feedbacks

  • N/A 0 0 0

Congratulations friend.

because start project in visual studio 2005 ?no it is best visual 2015 ?

No go bring problems future?


Edited by Jamba, 20 June 2016 - 01:28 PM.

Am from brasil is my speaks in inglês it is bad. if there misunderstood, sorry.


#15
Anarchy

Anarchy
    • Level 21 Cheater
    • VIP Member
    Posts:
    314
    Reputation:
    1
    Member:
    9861
    Joined:
    27-February 07
  • Gender:
    Not Telling
  • User's Feedbacks

  • N/A 0 0 0

Congratulations friend.

because start project in visual studio 2005 ?no it is best visual 2015 ?

No go bring problems future?

It HAS to be 2005, the server was compiled in VS 2005 so using any other version will mean any STL templates could be, and are, different from what it is you are extending which then prevents you from using any of the ones which exist in memory in the server, and the l2server heavily utilises stl containers.







Also tagged with one or more of these keywords: Share

MaxCheaters.com IPB Forum Theme by Stereotype