Lag Problems!!
Forum rules
READ NOW: L2j Forums Rules of Conduct
READ NOW: L2j Forums Rules of Conduct
-
- Posts: 51
- Joined: Wed Oct 13, 2010 10:11 pm
Re: Lag Problems!!
Now there are 175 players and I dont have lag but after I while it will start, it is really weird really...
-
- Posts: 51
- Joined: Wed Oct 13, 2010 10:11 pm
- pinkcore
- Posts: 247
- Joined: Fri Jul 24, 2009 3:04 am
- Location: Czech Republic
Re: Lag Problems!!
Rate Event doing this.
It calls you there are unclossed connection, it becomes overflowed in some time.

Last edited by pinkcore on Wed Oct 27, 2010 3:56 pm, edited 1 time in total.
I'm not here only for food!
-
- Posts: 51
- Joined: Wed Oct 13, 2010 10:11 pm
Re: Lag Problems!!
Yes, I will remove it right now to check what's going on because when is lagging is kicking like 3 or 4 players with the overflow stuff :S
- pinkcore
- Posts: 247
- Joined: Fri Jul 24, 2009 3:04 am
- Location: Czech Republic
Re: Lag Problems!!
Can you post the script?ElessarMS wrote:Yes, I will remove it right now to check what's going on because when is lagging is kicking like 3 or 4 players with the overflow stuff :S
I'm not here only for food!
-
- Posts: 51
- Joined: Wed Oct 13, 2010 10:11 pm
Re: Lag Problems!!
Ofc, here it is:
I guess is bad coded as hell so.. dont mock at me guys >.<
I guess is bad coded as hell so.. dont mock at me guys >.<
Code: Select all
package events.Rates; import java.util.Calendar; import com.l2jserver.Config;import com.l2jserver.gameserver.Announcements;import com.l2jserver.gameserver.model.actor.L2Npc;import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;import com.l2jserver.gameserver.model.quest.Quest; public class Rates extends Quest{ private static final boolean ANNOUNCE = true; // announce the rate changes or not. private static final int MULTIPLIER = 2; // rate multiplier, choose with caution! private static final int DURATION = 30; // in minutes. private static final int DELAY = 30; // Delay between server start/script load and event start in minutes. private static final Byte START_DAY = 0; // zero to disable. !!!Starts with SUNDAY as 1st day of week!!! Accepted values 1-7. private static final Byte START_HOUR = 0; // zero to disable. 24 hour system. Must be set if using START_DAY, //otherwise will start at midnight (unless that's what you want). private static final Byte START_MINUTE = 30; private static final int FREQUENCY = 120; // Time between event re-run in minutes, 0 to use daily/weekly system. public Rates(int questId, String name, String descr) { super(questId, name, descr); if (loadGlobalQuestVar("exprate") == "") { if (START_DAY > 0 || START_HOUR > 0) startQuestTimer("START", setStartTime(START_DAY, START_HOUR, START_MINUTE), null, null); else startQuestTimer("START", DELAY * 60000, null, null); } else // in case your server crashed before restoring rates... startQuestTimer("RESTORE", 60000, null, null); } private long setStartTime(Byte day, Byte hour, Byte minute) { Calendar starttime = Calendar.getInstance(); if (day > 0 && day < 8) starttime.set( Calendar.DAY_OF_WEEK, day ); else _log.info("Rates event: wrong day of week set. Skipped."); if (hour > 0 && hour < 24) starttime.set( Calendar.HOUR_OF_DAY, hour ); else _log.info("Rates event: wrong hour of day set. Skipped."); if (minute > 0 && minute < 60) starttime.set( Calendar.MINUTE, minute ); else if (minute > 60) starttime.set( Calendar.MINUTE, minute % 60 ); if ((starttime.getTimeInMillis() - Calendar.getInstance().getTimeInMillis()) > 0) return (starttime.getTimeInMillis() - Calendar.getInstance().getTimeInMillis()); else return 60000L; } public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { if (event.equalsIgnoreCase("START")) { saveGlobalQuestVar("exprate", String.valueOf(Config.RATE_XP)); Config.RATE_XP = MULTIPLIER * Config.RATE_XP; saveGlobalQuestVar("sprate", String.valueOf(Config.RATE_SP)); Config.RATE_SP = MULTIPLIER * Config.RATE_SP; saveGlobalQuestVar("droprate", String.valueOf(Config.RATE_DROP_ITEMS)); Config.RATE_DROP_ITEMS = MULTIPLIER * Config.RATE_DROP_ITEMS; saveGlobalQuestVar("adenarate", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(57))); Config.RATE_DROP_ITEMS_ID.put(57, (int) Config.RATE_DROP_ITEMS_ID.get(57) * MULTIPLIER); saveGlobalQuestVar("GArate", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9143))); Config.RATE_DROP_ITEMS_ID.put(9143, (int) Config.RATE_DROP_ITEMS_ID.get(9143) * MULTIPLIER); saveGlobalQuestVar("CFire", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9552))); Config.RATE_DROP_ITEMS_ID.put(9552, (int) Config.RATE_DROP_ITEMS_ID.get(9552) * MULTIPLIER); saveGlobalQuestVar("CWater", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9553))); Config.RATE_DROP_ITEMS_ID.put(9553, (int) Config.RATE_DROP_ITEMS_ID.get(9553) * MULTIPLIER); saveGlobalQuestVar("CEarth", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9554))); Config.RATE_DROP_ITEMS_ID.put(9554, (int) Config.RATE_DROP_ITEMS_ID.get(9554) * MULTIPLIER); saveGlobalQuestVar("CWind", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9555))); Config.RATE_DROP_ITEMS_ID.put(9555, (int) Config.RATE_DROP_ITEMS_ID.get(9555) * MULTIPLIER); saveGlobalQuestVar("CDark", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9556))); Config.RATE_DROP_ITEMS_ID.put(9556, (int) Config.RATE_DROP_ITEMS_ID.get(9556) * MULTIPLIER); saveGlobalQuestVar("CHoly", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9557))); Config.RATE_DROP_ITEMS_ID.put(9557, (int) Config.RATE_DROP_ITEMS_ID.get(9557) * MULTIPLIER); saveGlobalQuestVar("FireS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9546))); Config.RATE_DROP_ITEMS_ID.put(9546, (int) Config.RATE_DROP_ITEMS_ID.get(9546) * MULTIPLIER); saveGlobalQuestVar("WaterS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9547))); Config.RATE_DROP_ITEMS_ID.put(9547, (int) Config.RATE_DROP_ITEMS_ID.get(9547) * MULTIPLIER); saveGlobalQuestVar("EarthS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9548))); Config.RATE_DROP_ITEMS_ID.put(9548, (int) Config.RATE_DROP_ITEMS_ID.get(9548) * MULTIPLIER); saveGlobalQuestVar("WindS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9549))); Config.RATE_DROP_ITEMS_ID.put(9549, (int) Config.RATE_DROP_ITEMS_ID.get(9549) * MULTIPLIER); saveGlobalQuestVar("DarkS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9550))); Config.RATE_DROP_ITEMS_ID.put(9550, (int) Config.RATE_DROP_ITEMS_ID.get(9550) * MULTIPLIER); saveGlobalQuestVar("HolyS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9551))); Config.RATE_DROP_ITEMS_ID.put(9551, (int) Config.RATE_DROP_ITEMS_ID.get(9551) * MULTIPLIER); saveGlobalQuestVar("Masterys", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9627))); Config.RATE_DROP_ITEMS_ID.put(9627, (int) Config.RATE_DROP_ITEMS_ID.get(9627) * MULTIPLIER); saveGlobalQuestVar("BEAS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(6578))); Config.RATE_DROP_ITEMS_ID.put(6578, (int) Config.RATE_DROP_ITEMS_ID.get(6578) * MULTIPLIER); saveGlobalQuestVar("BEWS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(6577))); Config.RATE_DROP_ITEMS_ID.put(6577, (int) Config.RATE_DROP_ITEMS_ID.get(6577) * MULTIPLIER); if (ANNOUNCE) Announcements.getInstance().announceToAll("Crazy Rates Event!: The rates have been changed! For the next " + DURATION + " minutes the rates will be multiplied by "+ MULTIPLIER +"!"); startQuestTimer("RESTORE", DURATION * 60000, null, null); _log.info("Rate event: rates changed, vars set. Restoring rates in " + DURATION + "minutes."); } if (event.equalsIgnoreCase("RESTORE")) { Config.RATE_XP = Float.valueOf(loadGlobalQuestVar("exprate")); Config.RATE_SP = Float.valueOf(loadGlobalQuestVar("sprate")); Config.RATE_DROP_ITEMS = Float.valueOf(loadGlobalQuestVar("droprate")); Config.RATE_DROP_ITEMS_ID.put(57, Float.valueOf(loadGlobalQuestVar("adenarate"))); deleteAllGlobalQuestVars(); _log.info("Rate event: rates restored, vars deleted."); if (ANNOUNCE) Announcements.getInstance().announceToAll("The rates are restored. See you till the next Crazy event!"); if (START_DAY > 0 || START_HOUR > 0) startQuestTimer("START", setStartTime(START_DAY, START_HOUR, START_MINUTE), null, null); else if (FREQUENCY > 0) startQuestTimer("START", FREQUENCY * 60000, null, null); } return ""; } public static void main(String[] args) { new Rates(-1, "Rates", "events"); }}
-
- L2j Veteran
- Posts: 3437
- Joined: Wed Apr 30, 2008 8:53 am
- Location: Russia
Re: Lag Problems!!
This event running very limited amount of time (only during rate change) and should not do anything bad.
Commiter of the shit
public static final int PI = 3.1415926535897932384626433832795;
public static final int PI = 3.1415926535897932384626433832795;
- pinkcore
- Posts: 247
- Joined: Fri Jul 24, 2009 3:04 am
- Location: Czech Republic
Re: Lag Problems!!
Problems are not caused by this scripts, there is no database connection opened.ElessarMS wrote:Ofc, here it is:
I guess is bad coded as hell so.. dont mock at me guys >.<
Code: Select all
package events.Rates; import java.util.Calendar; import com.l2jserver.Config;import com.l2jserver.gameserver.Announcements;import com.l2jserver.gameserver.model.actor.L2Npc;import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;import com.l2jserver.gameserver.model.quest.Quest; public class Rates extends Quest{ private static final boolean ANNOUNCE = true; // announce the rate changes or not. private static final int MULTIPLIER = 2; // rate multiplier, choose with caution! private static final int DURATION = 30; // in minutes. private static final int DELAY = 30; // Delay between server start/script load and event start in minutes. private static final Byte START_DAY = 0; // zero to disable. !!!Starts with SUNDAY as 1st day of week!!! Accepted values 1-7. private static final Byte START_HOUR = 0; // zero to disable. 24 hour system. Must be set if using START_DAY, //otherwise will start at midnight (unless that's what you want). private static final Byte START_MINUTE = 30; private static final int FREQUENCY = 120; // Time between event re-run in minutes, 0 to use daily/weekly system. public Rates(int questId, String name, String descr) { super(questId, name, descr); if (loadGlobalQuestVar("exprate") == "") { if (START_DAY > 0 || START_HOUR > 0) startQuestTimer("START", setStartTime(START_DAY, START_HOUR, START_MINUTE), null, null); else startQuestTimer("START", DELAY * 60000, null, null); } else // in case your server crashed before restoring rates... startQuestTimer("RESTORE", 60000, null, null); } private long setStartTime(Byte day, Byte hour, Byte minute) { Calendar starttime = Calendar.getInstance(); if (day > 0 && day < 8) starttime.set( Calendar.DAY_OF_WEEK, day ); else _log.info("Rates event: wrong day of week set. Skipped."); if (hour > 0 && hour < 24) starttime.set( Calendar.HOUR_OF_DAY, hour ); else _log.info("Rates event: wrong hour of day set. Skipped."); if (minute > 0 && minute < 60) starttime.set( Calendar.MINUTE, minute ); else if (minute > 60) starttime.set( Calendar.MINUTE, minute % 60 ); if ((starttime.getTimeInMillis() - Calendar.getInstance().getTimeInMillis()) > 0) return (starttime.getTimeInMillis() - Calendar.getInstance().getTimeInMillis()); else return 60000L; } public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { if (event.equalsIgnoreCase("START")) { saveGlobalQuestVar("exprate", String.valueOf(Config.RATE_XP)); Config.RATE_XP = MULTIPLIER * Config.RATE_XP; saveGlobalQuestVar("sprate", String.valueOf(Config.RATE_SP)); Config.RATE_SP = MULTIPLIER * Config.RATE_SP; saveGlobalQuestVar("droprate", String.valueOf(Config.RATE_DROP_ITEMS)); Config.RATE_DROP_ITEMS = MULTIPLIER * Config.RATE_DROP_ITEMS; saveGlobalQuestVar("adenarate", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(57))); Config.RATE_DROP_ITEMS_ID.put(57, (int) Config.RATE_DROP_ITEMS_ID.get(57) * MULTIPLIER); saveGlobalQuestVar("GArate", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9143))); Config.RATE_DROP_ITEMS_ID.put(9143, (int) Config.RATE_DROP_ITEMS_ID.get(9143) * MULTIPLIER); saveGlobalQuestVar("CFire", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9552))); Config.RATE_DROP_ITEMS_ID.put(9552, (int) Config.RATE_DROP_ITEMS_ID.get(9552) * MULTIPLIER); saveGlobalQuestVar("CWater", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9553))); Config.RATE_DROP_ITEMS_ID.put(9553, (int) Config.RATE_DROP_ITEMS_ID.get(9553) * MULTIPLIER); saveGlobalQuestVar("CEarth", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9554))); Config.RATE_DROP_ITEMS_ID.put(9554, (int) Config.RATE_DROP_ITEMS_ID.get(9554) * MULTIPLIER); saveGlobalQuestVar("CWind", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9555))); Config.RATE_DROP_ITEMS_ID.put(9555, (int) Config.RATE_DROP_ITEMS_ID.get(9555) * MULTIPLIER); saveGlobalQuestVar("CDark", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9556))); Config.RATE_DROP_ITEMS_ID.put(9556, (int) Config.RATE_DROP_ITEMS_ID.get(9556) * MULTIPLIER); saveGlobalQuestVar("CHoly", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9557))); Config.RATE_DROP_ITEMS_ID.put(9557, (int) Config.RATE_DROP_ITEMS_ID.get(9557) * MULTIPLIER); saveGlobalQuestVar("FireS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9546))); Config.RATE_DROP_ITEMS_ID.put(9546, (int) Config.RATE_DROP_ITEMS_ID.get(9546) * MULTIPLIER); saveGlobalQuestVar("WaterS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9547))); Config.RATE_DROP_ITEMS_ID.put(9547, (int) Config.RATE_DROP_ITEMS_ID.get(9547) * MULTIPLIER); saveGlobalQuestVar("EarthS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9548))); Config.RATE_DROP_ITEMS_ID.put(9548, (int) Config.RATE_DROP_ITEMS_ID.get(9548) * MULTIPLIER); saveGlobalQuestVar("WindS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9549))); Config.RATE_DROP_ITEMS_ID.put(9549, (int) Config.RATE_DROP_ITEMS_ID.get(9549) * MULTIPLIER); saveGlobalQuestVar("DarkS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9550))); Config.RATE_DROP_ITEMS_ID.put(9550, (int) Config.RATE_DROP_ITEMS_ID.get(9550) * MULTIPLIER); saveGlobalQuestVar("HolyS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9551))); Config.RATE_DROP_ITEMS_ID.put(9551, (int) Config.RATE_DROP_ITEMS_ID.get(9551) * MULTIPLIER); saveGlobalQuestVar("Masterys", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(9627))); Config.RATE_DROP_ITEMS_ID.put(9627, (int) Config.RATE_DROP_ITEMS_ID.get(9627) * MULTIPLIER); saveGlobalQuestVar("BEAS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(6578))); Config.RATE_DROP_ITEMS_ID.put(6578, (int) Config.RATE_DROP_ITEMS_ID.get(6578) * MULTIPLIER); saveGlobalQuestVar("BEWS", String.valueOf(Config.RATE_DROP_ITEMS_ID.get(6577))); Config.RATE_DROP_ITEMS_ID.put(6577, (int) Config.RATE_DROP_ITEMS_ID.get(6577) * MULTIPLIER); if (ANNOUNCE) Announcements.getInstance().announceToAll("Crazy Rates Event!: The rates have been changed! For the next " + DURATION + " minutes the rates will be multiplied by "+ MULTIPLIER +"!"); startQuestTimer("RESTORE", DURATION * 60000, null, null); _log.info("Rate event: rates changed, vars set. Restoring rates in " + DURATION + "minutes."); } if (event.equalsIgnoreCase("RESTORE")) { Config.RATE_XP = Float.valueOf(loadGlobalQuestVar("exprate")); Config.RATE_SP = Float.valueOf(loadGlobalQuestVar("sprate")); Config.RATE_DROP_ITEMS = Float.valueOf(loadGlobalQuestVar("droprate")); Config.RATE_DROP_ITEMS_ID.put(57, Float.valueOf(loadGlobalQuestVar("adenarate"))); deleteAllGlobalQuestVars(); _log.info("Rate event: rates restored, vars deleted."); if (ANNOUNCE) Announcements.getInstance().announceToAll("The rates are restored. See you till the next Crazy event!"); if (START_DAY > 0 || START_HOUR > 0) startQuestTimer("START", setStartTime(START_DAY, START_HOUR, START_MINUTE), null, null); else if (FREQUENCY > 0) startQuestTimer("START", FREQUENCY * 60000, null, null); } return ""; } public static void main(String[] args) { new Rates(-1, "Rates", "events"); }}
Are you using Scheme Buffer?
I'm not here only for food!
-
- Posts: 51
- Joined: Wed Oct 13, 2010 10:11 pm
Re: Lag Problems!!
Yes, this is my scheme buffer:
http://pastebin.com/9VAVMZhg
My Events:
http://pastebin.com/UiL0UyWs
My gatekeeper:
http://pastebin.com/63N3JLhW
http://pastebin.com/9VAVMZhg
My Events:
http://pastebin.com/UiL0UyWs
My gatekeeper:
http://pastebin.com/63N3JLhW
- pinkcore
- Posts: 247
- Joined: Fri Jul 24, 2009 3:04 am
- Location: Czech Republic
Re: Lag Problems!!
Yea Rin4a's Buffer. Janiii has fixed it long time ago. I think fixed script is on this forum.
I'm not here only for food!
-
- Posts: 51
- Joined: Wed Oct 13, 2010 10:11 pm
Re: Lag Problems!!
The thing is that this is a new version for freya because the Html were fucked up in rin4a's original buffer, so I don't know if Janiii fixed this script based in the new one for Freya version. Do you think the buffer is the problem? Because when the people get overflow they're not buffing themselves or close to the buffer (or this doesnt matter?).
- pinkcore
- Posts: 247
- Joined: Fri Jul 24, 2009 3:04 am
- Location: Czech Republic
Re: Lag Problems!!
It's not caused by player at time. If player do something at buffer, connection stay opened, and when emulator reaches connection limits its going to close some connections automatically. (MySQL overflow)ElessarMS wrote:The thing is that this is a new version for freya because the Html were fucked up in rin4a's original buffer, so I don't know if Janiii fixed this script based in the new one for Freya version. Do you think the buffer is the problem? Because when the people get overflow they're not buffing themselves or close to the buffer (or this doesnt matter?).
Code: Select all
Index: script.py===================================================================--- script.py (revision 0)+++ script.py (working copy)@@ -713,6 +713,7 @@ ins.close() con.close() except : pass+ try : con.close() return rebuildMainHtml(st) if event == "delete" :@@ -722,7 +723,7 @@ try : rem.executeUpdate() rem.close()- con.close()+ conn.close() except : pass rem=conn.prepareStatement("DELETE FROM buffer_scheme_contents WHERE scheme_id=?") rem.setString(1, eventParam1)
I'm not here only for food!
-
- Posts: 51
- Joined: Wed Oct 13, 2010 10:11 pm
Re: Lag Problems!!
Ok dude, im going to try it to see if it works and I'll come back with a feedback!.
-
- Posts: 51
- Joined: Wed Oct 13, 2010 10:11 pm
Re: Lag Problems!!
Ok, I have working the buffer, gatekeeper and rate events, the first thing you told me to edit (the "try : con.close()" I had to quit it because when I was initializing the GS was giving me an error son I just let the second change. Now after 30 min the server working it gave me this error and the overflows started again:


-
- L2j Veteran
- Posts: 3437
- Joined: Wed Apr 30, 2008 8:53 am
- Location: Russia
Re: Lag Problems!!
Remove buffer and test again.
Commiter of the shit
public static final int PI = 3.1415926535897932384626433832795;
public static final int PI = 3.1415926535897932384626433832795;