Multi skills bug
Forum rules
READ NOW: L2j Forums Rules of Conduct
READ NOW: L2j Forums Rules of Conduct
-
- Posts: 99
- Joined: Sat May 02, 2009 5:32 pm
Multi skills bug
Hi, i find bug
last gs and dp revision (Epilogue)
Set
AlternateClassMaster = True
then
take lvl 40, opening window with change profession, you click on profession and quickly click on Exit game (almost simultaneously).
When you go into the game again, you get a skill, but do not get a profession.
then you opening window with change profession and click on other profession.
Now - you have 1 proffesion and multiskills.
How fix that?
last gs and dp revision (Epilogue)
Set
AlternateClassMaster = True
then
take lvl 40, opening window with change profession, you click on profession and quickly click on Exit game (almost simultaneously).
When you go into the game again, you get a skill, but do not get a profession.
then you opening window with change profession and click on other profession.
Now - you have 1 proffesion and multiskills.
How fix that?
- SolidSnake
- Posts: 865
- Joined: Wed Jan 20, 2010 6:54 pm
- Location: Italy
Re: Multi skills bug
Have you tried on a test server on your pc or on an unofficial server on a good machine?

-
- Posts: 99
- Joined: Sat May 02, 2009 5:32 pm
Re: Multi skills bug
Good server
Dell PowerEnge 2U
2 x Intel Xeon 5680 3.33 GHz 12M L3
2 x 146Gb SAS 15k
16Gb DD3 ECC
Good config, not lag
Test on lan 1Gb/s, no delay
Dell PowerEnge 2U
2 x Intel Xeon 5680 3.33 GHz 12M L3
2 x 146Gb SAS 15k
16Gb DD3 ECC
Good config, not lag
Test on lan 1Gb/s, no delay
-
- Posts: 99
- Joined: Sat May 02, 2009 5:32 pm
Re: Multi skills bug
aa
help plz, how i can fix this?
how can add delay for exit game?
help plz, how i can fix this?
how can add delay for exit game?
-
- Posts: 575
- Joined: Wed Dec 02, 2009 7:59 pm
Re: Multi skills bug
how about not using alternate class master?
anyways, try flood protectors, if you use item, i d try item protectors ...
anyways, try flood protectors, if you use item, i d try item protectors ...
-
- Posts: 99
- Joined: Sat May 02, 2009 5:32 pm
Re: Multi skills bug
Floodprotections not help, I try...
I use this bug with classic Classmaster too
I use this bug with classic Classmaster too
-
- Posts: 99
- Joined: Sat May 02, 2009 5:32 pm
Re: Multi skills bug
Maybe someone has an idea?
- Naonah
- Posts: 357
- Joined: Sun Apr 04, 2010 11:12 pm
Re: Multi skills bug
this problem was resolved by floodprotector, use a proper delay...
public void l2jserver ()
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
-
- Posts: 99
- Joined: Sat May 02, 2009 5:32 pm
Re: Multi skills bug
i use standart config floodprotection
Code: Select all
# UseItem - item usage floodingFloodProtectorUseItemInterval = 4FloodProtectorUseItemLogFlooding = FalseFloodProtectorUseItemPunishmentLimit = 0FloodProtectorUseItemPunishmentType = noneFloodProtectorUseItemPunishmentTime = 0 # RollDice - rolling dice floodingFloodProtectorRollDiceInterval = 42FloodProtectorRollDiceLogFlooding = FalseFloodProtectorRollDicePunishmentLimit = 0FloodProtectorRollDicePunishmentType = noneFloodProtectorRollDicePunishmentTime = 0 # Firework - firework floodingFloodProtectorFireworkInterval = 42FloodProtectorFireworkLogFlooding = FalseFloodProtectorFireworkPunishmentLimit = 0FloodProtectorFireworkPunishmentType = noneFloodProtectorFireworkPunishmentTime = 0 # ItemPetSummon - item summonning and pet mounting floodingFloodProtectorItemPetSummonInterval = 16FloodProtectorItemPetSummonLogFlooding = FalseFloodProtectorItemPetSummonPunishmentLimit = 0FloodProtectorItemPetSummonPunishmentType = noneFloodProtectorItemPetSummonPunishmentTime = 0 # HeroVoice - hero voice floodingFloodProtectorHeroVoiceInterval = 100FloodProtectorHeroVoiceLogFlooding = FalseFloodProtectorHeroVoicePunishmentLimit = 0FloodProtectorHeroVoicePunishmentType = noneFloodProtectorHeroVoicePunishmentTime = 0 # GlobalChat - global chat floodingFloodProtectorGlobalChatInterval = 5FloodProtectorGlobalChatLogFlooding = FalseFloodProtectorGlobalChatPunishmentLimit = 0FloodProtectorGlobalChatPunishmentType = noneFloodProtectorGlobalChatPunishmentTime = 0 # Subclass - subclass floodingFloodProtectorSubclassInterval = 20FloodProtectorSubclassLogFlooding = FalseFloodProtectorSubclassPunishmentLimit = 0FloodProtectorSubclassPunishmentType = noneFloodProtectorSubclassPunishmentTime = 0 # DropItem - drop item floodingFloodProtectorDropItemInterval = 10FloodProtectorDropItemLogFlooding = FalseFloodProtectorDropItemPunishmentLimit = 0FloodProtectorDropItemPunishmentType = noneFloodProtectorDropItemPunishmentTime = 0 # ServerBypass - server bypass floodingFloodProtectorServerBypassInterval = 5FloodProtectorServerBypassLogFlooding = FalseFloodProtectorServerBypassPunishmentLimit = 0FloodProtectorServerBypassPunishmentType = noneFloodProtectorServerBypassPunishmentTime = 0 # ServerBypass - multisell list request floodingFloodProtectorMultiSellInterval = 1FloodProtectorMultiSellLogFlooding = FalseFloodProtectorMultiSellPunishmentLimit = 0FloodProtectorMultiSellPunishmentType = noneFloodProtectorMultiSellPunishmentTime = 0 # All kind of other transactions - to/from pet, private store, warehouse, destroyFloodProtectorTransactionInterval = 10FloodProtectorTransactionLogFlooding = FalseFloodProtectorTransactionPunishmentLimit = 0FloodProtectorTransactionPunishmentType = noneFloodProtectorTransactionPunishmentTime = 0 # ManufactureFloodProtectorManufactureInterval = 3FloodProtectorManufactureLogFlooding = FalseFloodProtectorManufacturePunishmentLimit = 0FloodProtectorManufacturePunishmentType = noneFloodProtectorManufacturePunishmentTime = 0 # ManorFloodProtectorManorInterval = 30FloodProtectorManorLogFlooding = FalseFloodProtectorManorPunishmentLimit = 0FloodProtectorManorPunishmentType = noneFloodProtectorManorPunishmentTime = 0 # SendMail - sending mail interval, 10s on retailFloodProtectorSendMailInterval = 100FloodProtectorSendMailLogFlooding = FalseFloodProtectorSendMailPunishmentLimit = 0FloodProtectorSendMailPunishmentType = noneFloodProtectorSendMailPunishmentTime = 0 # CharacterSelect - attempts to load characterFloodProtectorCharacterSelectInterval = 30FloodProtectorCharacterSelectLogFlooding = FalseFloodProtectorCharacterSelectPunishmentLimit = 0FloodProtectorCharacterSelectPunishmentType = noneFloodProtectorCharacterSelectPunishmentTime = 0
- Naonah
- Posts: 357
- Joined: Sun Apr 04, 2010 11:12 pm
Re: Multi skills bug
hmm, settings are correct
It works for me. When I change prof and then immediately press exit (window pre-opened) I get a new prof. When I log again I have this prof (for exemple: Dark Avenger from Human Knight)
Are you sure you are using CLEAN latest core files? I think you have modified core..
It works for me. When I change prof and then immediately press exit (window pre-opened) I get a new prof. When I log again I have this prof (for exemple: Dark Avenger from Human Knight)
Are you sure you are using CLEAN latest core files? I think you have modified core..
public void l2jserver ()
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
-
- Posts: 99
- Joined: Sat May 02, 2009 5:32 pm
Re: Multi skills bug
my rev clean
try click exit very quickly
i set button "change prof" and button "confirm exit" one on another and I press them almost simultaneously.
how set time 5 sec about client close after click exit button?
try click exit very quickly
i set button "change prof" and button "confirm exit" one on another and I press them almost simultaneously.
how set time 5 sec about client close after click exit button?
- SolidSnake
- Posts: 865
- Joined: Wed Jan 20, 2010 6:54 pm
- Location: Italy
Re: Multi skills bug
Code: Select all
Index: java/com/l2jserver/gameserver/network/clientpackets/RequestRestart.java===================================================================--- java/com/l2jserver/gameserver/network/clientpackets/RequestRestart.java (revision 4413)+++ java/com/l2jserver/gameserver/network/clientpackets/RequestRestart.java (working copy)@@ -120,3 +120,30 @@ record.setParameters(new Object[]{client}); _logAccounting.log(record);-++ ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()+ {+ @Override+ public void run()+ {+ // detach the client from the char so that the connection isnt closed in the deleteMe+ player.setClient(null);++ player.logout();+ + getClient().setActiveChar(null);++ // return the client to the authed status+ client.setState(GameClientState.AUTHED);++ sendPacket(RestartResponse.valueOf(true));++ // send char list+ final CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1);+ sendPacket(cl);+ client.setCharSelection(cl.getCharInfo());+ }+ }, 5000);- // detach the client from the char so that the connection isnt closed in the deleteMe- player.setClient(null);-- player.logout();- - getClient().setActiveChar(null);-- // return the client to the authed status- client.setState(GameClientState.AUTHED);-- sendPacket(RestartResponse.valueOf(true));-- // send char list- final CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1);- sendPacket(cl);- client.setCharSelection(cl.getCharInfo()); } /* (non-Javadoc)

- Naonah
- Posts: 357
- Joined: Sun Apr 04, 2010 11:12 pm
Re: Multi skills bug
SolidSnake wrote:Add proper imports.. BE WARNED: it isn't tested! Try it restarting client..Code: Select all
Index: java/com/l2jserver/gameserver/network/clientpackets/RequestRestart.java===================================================================--- java/com/l2jserver/gameserver/network/clientpackets/RequestRestart.java (revision 4413)+++ java/com/l2jserver/gameserver/network/clientpackets/RequestRestart.java (working copy)@@ -120,3 +120,30 @@ record.setParameters(new Object[]{client}); _logAccounting.log(record);-++ ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()+ {+ @Override+ public void run()+ {+ // detach the client from the char so that the connection isnt closed in the deleteMe+ player.setClient(null);++ player.logout();+ + getClient().setActiveChar(null);++ // return the client to the authed status+ client.setState(GameClientState.AUTHED);++ sendPacket(RestartResponse.valueOf(true));++ // send char list+ final CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1);+ sendPacket(cl);+ client.setCharSelection(cl.getCharInfo());+ }+ }, 5000);- // detach the client from the char so that the connection isnt closed in the deleteMe- player.setClient(null);-- player.logout();- - getClient().setActiveChar(null);-- // return the client to the authed status- client.setState(GameClientState.AUTHED);-- sendPacket(RestartResponse.valueOf(true));-- // send char list- final CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1);- sendPacket(cl);- client.setCharSelection(cl.getCharInfo()); } /* (non-Javadoc)
..as I remember this issue was reported some time ago in one of tickets and was resolved by adding a code preventing from closing connection. ...but I dont remember which file was affected. The code was similar to this one.
It is an old bugg and for sure discussed here.
public void l2jserver ()
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
-
- Posts: 575
- Joined: Wed Dec 02, 2009 7:59 pm
Re: Multi skills bug
i remember also that it was added so the character doesent exit game when u press exit but some time after...
anybody can reproduce this?
anybody can reproduce this?
- SolidSnake
- Posts: 865
- Joined: Wed Jan 20, 2010 6:54 pm
- Location: Italy
Re: Multi skills bug
In fact I said that I made that patch without any kind of tests, so try it on a test server
