|
You last visited: Today at 06:24
Advertisement
[Release] Sicherheits Fixxes
Discussion on [Release] Sicherheits Fixxes within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
04/27/2015, 16:54
|
#1
|
elite*gold: 0
Join Date: Dec 2013
Posts: 228
Received Thanks: 99
|
[Release] Sicherheits Fixxes
In diesem Thread release ich alle Hack/Dupe Fixxes, sowie andere Dinge die zur Serversicherheit beitragen.
Den Thread werde ich immer updaten, sobald ich Zeit habe.
Solltet ihr Fragen haben, so stehe ich euch gerne zur Verfügung.
Vorwort: Die Fixxes stammen nicht von mir! Ich habe sie lediglich aus anderen Sourcen exportiert und teile sie der Allgemeinheit mit. Sollte jemand ein Problem damit haben, so kann er mir das gerne per PN mitteilen.
Char Overwrite Fix
Geht in die DbManager.cpp des Database Servers und sucht nach dieser Funktion
Code:
void CDbManager::RemovePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
Scrollt dann etwas hoch bis ihr zum
Code:
#endif // __2ND_PASSWORD_SYSTEM
kommt und fügt unter der bis zum das hier ein
Code:
#ifdef __CHAROVERWRITE_FIX
else if( nError == 2 )
{
Error("CDbManager::CreatePlayer() : Try overwrite player: account: %s", lpDbOverlappedPlus->AccountInfo.szAccount);
g_dpLoginSrvr.SendError( ERROR_USER_EXISTS, lpDbOverlappedPlus->dpid );
}
#endif // __CHAROVERWRITE_FIX
das sollte dann so aussehen
Code:
WriteLog( "%s, %d\t%s", __FILE__, __LINE__, szQuery );
FreeRequest( lpDbOverlappedPlus );
return;
}
#endif // __2ND_PASSWORD_SYSTEM
}
#ifdef __CHAROVERWRITE_FIX
else if( nError == 2 )
{
Error("CDbManager::CreatePlayer() : Try overwrite player: account: %s", lpDbOverlappedPlus->AccountInfo.szAccount);
g_dpLoginSrvr.SendError( ERROR_USER_EXISTS, lpDbOverlappedPlus->dpid );
}
#endif // __CHAROVERWRITE_FIX
else
{
// ij¸¯ÅÍ Áߺ¹
g_dpLoginSrvr.SendError( ERROR_USER_EXISTS, lpDbOverlappedPlus->dpid );
}
}
FreeRequest( lpDbOverlappedPlus );
In alle Versioncommon.h das hier eintragen
Code:
#define __CHAROVERWRITE_FIX
Guildbank Dupe Fix #1
Geht in DPsrvr.cpp des Worldservers und sucht nach
Code:
void CDPSrvr::OnPutItemGuildBank( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
Scrollt dann runter bis ihr das hier findet
Code:
// GUILD_BANK_STR 'S1','000000','01'
// GUILD BANK Àüü ºÒ·¯¿À±â ex ) GUILD_BANK_STR 'S1',@im_idGuild,@iserverindex GUILD_BANK_STR 'S1','000000','01'
// GUILD BANK ÀúÀåÇϱâ ex ) GUILD_BANK_STR 'U1',@im_idGuild,@iserverindex,@im_nGoldGuild,@im_apIndex,@im_dwObjIndex,@im_GuildBank GUILD_BANK_STR 'U1','000001','01',0,'$','$','$'
Dadrüber fügt ihr dann ein
Code:
#ifdef __GUILDBANK_DUPEFIX1
if( (short)( nItemNum ) > pItemElem->m_nItemNum )
nItemNum = pItemElem->m_nItemNum;
if( (short)(nItemNum) < 1 )
nItemNum = 1;
#else // __GUILDBANK_DUPEFIX1
if( (int)( nItemNum ) > pItemElem->m_nItemNum )
nItemNum = pItemElem->m_nItemNum;
if( nItemNum < 1 )
nItemNum = 1;
#endif // __GUILDBANK_DUPEFIX1
Tragt dann in alle Versioncommon.h das hier ein
Code:
#define __GUILDBANK_DUPEFIX1 // CDPSrvr::OnPutItemGuildBank()
Guildbank Dupe Fix #2
Geht in DPsrvr.cpp des Worldservers und sucht nach
Code:
void CDPSrvr::OnGetItemGuildBank( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
Scrollt runter bis
Code:
else if (mode == 1) // ¾ÆÀÌÅÛÀ» ±æµåâ°í¿¡¼* »©³¾¶§
{
CGuild* pGuild = pUser->GetGuild();
if (pGuild && pGuild->IsGetItem(pUser->m_idPlayer))
{
CItemElem* pItemElem = pGuild->m_GuildBank.GetAtId( nId );
if( NULL == pItemElem )
return;
und fügt das hier drunter ein
Code:
#ifdef __GUILDBANK_DUPEFIX2
if( (short)( dwItemNum ) > pItemElem->m_nItemNum )
dwItemNum = pItemElem->m_nItemNum;
if( (short)(dwItemNum) < 1 )
dwItemNum = 1;
#else // __GUILDBANK_DUPEFIX2
if( (int)( dwItemNum ) > pItemElem->m_nItemNum )
dwItemNum = pItemElem->m_nItemNum;
if( dwItemNum < 1 )
dwItemNum = 1;
#endif // __GUILDBANK_DUPEFIX2
Tragt dann in alle Versioncommon.h das hier ein
Code:
#define __GUILDBANK_DUPEFIX2 // CDPSrvr::OnGetItemGuildBank()
Veteranen Source:
|
|
|
04/27/2015, 17:05
|
#2
|
elite*gold: 317
Join Date: Jul 2013
Posts: 426
Received Thanks: 305
|
Gute Idee (wenn der Thread auch weiter geführt wird),
aber da fehlen ja noch ein paaaar Fixxes =D
Hau rein...°
|
|
|
04/27/2015, 17:36
|
#3
|
elite*gold: 2
Join Date: Mar 2009
Posts: 338
Received Thanks: 63
|
Nice hoffe es kommen mehr
|
|
|
04/27/2015, 18:16
|
#4
|
elite*gold: 0
Join Date: Apr 2014
Posts: 193
Received Thanks: 3
|
Ist das normal das meine danach nachdem man diese Eingebaut hat keine Items mehr in das Gildenlager legen kann oder liegt das am RoC Source?
|
|
|
04/27/2015, 18:26
|
#5
|
elite*gold: 0
Join Date: Dec 2013
Posts: 228
Received Thanks: 99
|
Quote:
Originally Posted by DerHeiligeJesus
Ist das normal das meine danach nachdem man diese Eingebaut hat keine Items mehr in das Gildenlager legen kann oder liegt das am RoC Source?
|
Ich habe es eben nochmal getestet und bei mir klappt es. Ist das auch wirklich die richtige Stelle in der du das eingebaut hast?
|
|
|
04/27/2015, 18:49
|
#6
|
elite*gold: 0
Join Date: Apr 2014
Posts: 193
Received Thanks: 3
|
ja 100%
|
|
|
04/27/2015, 18:54
|
#7
|
elite*gold: 0
Join Date: Dec 2013
Posts: 228
Received Thanks: 99
|
Bei dem Guild fix#1 hast du es unter oder über den drei auskommentierten Sachen eingebaut?
Hast du beide Fixxes eingebaut?
Soll ich mal über TV rüber gucken?
|
|
|
04/27/2015, 20:13
|
#8
|
elite*gold: 7
Join Date: Sep 2012
Posts: 4,466
Received Thanks: 3,218
|
Wenn du mehr Releasen willst, dann zieh dir die Veteran Source und easy.
|
|
|
04/27/2015, 20:45
|
#9
|
elite*gold: 0
Join Date: Apr 2014
Posts: 193
Received Thanks: 3
|
wo gibt es die source?
|
|
|
04/28/2015, 00:11
|
#10
|
elite*gold: 0
Join Date: Feb 2011
Posts: 12
Received Thanks: 1
|
Erst einmal nette Idee, aber Fix #1 ist ziemlich senseless bzw. nutzlos.
Fix #2 & #3 da würde ich mal schauen ob es nicht klüger ist den Datentypen direkt auf short zu setzen. (Wobei ich nebenbei gesagt, auch hier bezweifle das irgendwas gefixt wird)
|
|
|
04/28/2015, 05:39
|
#11
|
elite*gold: 0
Join Date: Dec 2013
Posts: 228
Received Thanks: 99
|
Bei dem Fix #2 & #3 ist der doch auf4 short gesetzt.
|
|
|
04/28/2015, 11:10
|
#12
|
elite*gold: 0
Join Date: Oct 2014
Posts: 57
Received Thanks: 68
|
Zu Fix #1,
der is schon recht nutzlos.
Warum frägt man in der Removeplayer nach nError == 2, wenn man es doch direkt in der Createplayer abfragen lassen kann. Hätte zumindest in meinen Augen mehr Sinn.
Außerdem würde ich das ganze direkt in der DB fixen -> Character Str, da braucht man nix im Src editieren^^
|
|
|
04/28/2015, 13:47
|
#13
|
elite*gold: 0
Join Date: Jan 2009
Posts: 1,741
Received Thanks: 1,674
|
Quote:
Originally Posted by Xylenu
Zu Fix #1,
der is schon recht nutzlos.
Warum frägt man in der Removeplayer nach nError == 2, wenn man es doch direkt in der Createplayer abfragen lassen kann. Hätte zumindest in meinen Augen mehr Sinn.
Außerdem würde ich das ganze direkt in der DB fixen -> Character Str, da braucht man nix im Src editieren^^
|
Mal davon abgesehen, dass die Prozedur auch den nError 2 zurückgeben muss, damit der "Fix" auch greift. Stattdessen macht man die Abfrage komplett in der Prozedur und gibt 0 zurück, was den Charakter auch nicht erstellt.
|
|
|
04/28/2015, 15:47
|
#14
|
elite*gold: 0
Join Date: Feb 2011
Posts: 12
Received Thanks: 1
|
Quote:
Originally Posted by Grening
Bei dem Fix #2 & #3 ist der doch auf4 short gesetzt.
|
Nein du castest auf short, was aber keinen Sinn ergibt.
Weil die Vergleichsoperatoren zwischen unsigned Long und short auch ohne Casts wunderbar funktionieren. Warum Offi castet kann ich mir nur erklären weil sie den globalen max. Stapel begrenzen wollten. Dann kann man aber wie bereits erwähnt die Variable direkt als short deklarieren.
Quote:
Originally Posted by Xylenu
Zu Fix #1,
der is schon recht nutzlos.
Warum frägt man in der Removeplayer nach nError == 2, wenn man es doch direkt in der Createplayer abfragen lassen kann. Hätte zumindest in meinen Augen mehr Sinn.
Außerdem würde ich das ganze direkt in der DB fixen -> Character Str, da braucht man nix im Src editieren^^
|
Der "Fix" wird in der CreatePlayer eingefügt, aber trotzdem ist es reiner Schwachsinn.
|
|
|
05/02/2015, 19:46
|
#15
|
elite*gold: 0
Join Date: Dec 2013
Posts: 228
Received Thanks: 99
|
Da ich kein Bock mehr auf Flyff habe, gebe ich euch einfach mal die Veteranen Source von dort aus könnt ihr euch die ganzen Fixxes ziehen. Kann ich euch nur empfehlen.
#Ist auch im First Post geaddet.
Vielleicht Release ich auch noch die Homepage etc.
|
|
|
 |
Similar Threads
|
[Release]2089M Game mit allen Fixxes!
11/19/2013 - Metin2 PServer Guides & Strategies - 11 Replies
Guten Tag, Elitepvpers.
Da ich es sehr nervig finde bei neuen Serverfiles immer die ganzen Dif's usw zu patchen release ich euch jetzt mal die 2089M_game mit allen Fixxes!
Für den Download, sende eine Email an: [email protected]
Ich hoffe ich konnte damit euch ein wenig Arbeit abnehmen.
|
[Release]Neue Files by Sanii + Sicherheit's fixxes.
05/28/2013 - Metin2 PServer Guides & Strategies - 58 Replies
http://i.epvpimg.com/MLXMg.png
Da ich seit längerer Zeit schonmal gefragt wurde ob ich nicht mal Files für die Com machen möchte.
Hab ich mich doch mal rangesetzt. !
An die Files wurde Spielverlaufstechnisch nichts gemacht. Ich habe lediglich auf Sicherheit und Stabilität gearbeitet.
Der passende Client ist ebenfalls dabei.
Zudem werdet ihr unten unter Scripts und Extras was Nettes entdecken. ;)
|
[Little Release] Quests und fixxes
01/16/2011 - Metin2 PServer Guides & Strategies - 12 Replies
So ich hab mal aus lw Quests geschrieben und fixxed gehabt. Jetzt will ich sie vor euch nicht geheim halten. Insgesamt sind es vier Quests, funktionen folgen.
regenbogen.quest:
Wie der Name schon sagt, ne Quest für den Regenbogenstein. Setzt in meiner Version die Skills auf P. wollt ihr das ändern so ändert in der Zeile
pc.set_skill_level(1 ,59)
Die rot makierte Zahl in allen Zeilen auf 30, dann sind die Skills nur G1. Da die Quest schon länger existiert gibt es natürlich buguser wie...
|
[Release] SH Script zum Mini Fixxes des API's
11/01/2010 - Metin2 PServer Guides & Strategies - 35 Replies
Joar, also ich habe euch hier mal ein Script vorbereitet, was ihr noch anpassen müsst und in euerm Server einfügen müsst ;>
Ihr loggt euch in vpc oder PuTTy ein und tippt folgendes ein:
Da kommt folgender Inhalt rein:
|
All times are GMT +1. The time now is 06:28.
|
|