[Plugin] IRC Plugin

Quote:
Originally Posted by Kar
Посмотреть сообщение
I have this weird issue. After awhile probably 3-4 days uptime, using 4 bots and constant messages to irc (player chat etc) the bots sort of lose synch, after the time has passed only 1 bot usually responds to everything and that bot is forced with the pressure and usually gets flood kicked alot until ban, the other 3 bots are just there out of sync, if the server closes they leave. I also tried IRC_Quit but it doesn't work.

Check out this irc_log. Apparently, the bots somehow lose sync with the server, but the server still has the original connection established so if it shuts down the bots go with them.

The bots try to connect but it says the bots nicknames are already in use. So these nicknames are there, but the server doesn't have full control of them... some sort of socket synch loss or something? Sorry if I sound stupid with the terms.

http://pastebin.com/x9vyCzZk
Same here, only all my bots are not responding then.
Reply

Quote:
Originally Posted by KyleSmith
Посмотреть сообщение
although there is probably a small leak in the mysql from that 45 to 60mb, the rest 60-2gb is more than likely the mysql plugin.
Using 15mb and staying at 15mb usage isn't a memory leak. I use and my memory doesn't go up constantly.
Reply

Amazing plugin
Really useful.
Reply

Quote:
Originally Posted by Kar
Посмотреть сообщение
Using 15mb and staying at 15mb usage isn't a memory leak. I use and my memory doesn't go up constantly.
So how come when it was disabled it doesn't increase, when loaded and inuse it does?
Reply

does it increase over time or constantly?

Because plugins use ram, example MapAndreas uses 70mb, does it go up or down? no it stays in the range.
Reply

Quote:
Originally Posted by Kar
Посмотреть сообщение
does it increase over time or constantly?

Because plugins use ram, example MapAndreas uses 70mb, does it go up or down? no it stays in the range.
You really need to learn to shut up when you don't know thinks, it was ****** who said it is a plugin issue.

Yes, ****** - Someone who is extremely advanced and rarely gives out false information. A plugin RAM will use more RAM when there is a leak, obviously in this case there is a leak somewhere.

Gamemodes use constant ram amount AFAIK, if plugins did too then where is the blame going to go?

I know for sure although plugins may use constant ram is there is a leak, it will use more.... :/

tl;dr - Don't talk about something you don't know, it was ****** who told me this information.
Reply

I have also had issues where the bots would be connected however no messages are passed from the server to the bots the only way to fix it was a server restart. Its an old bug actually.

(Just to point out Map Andreas loads the map once hence why the memory never changes...)
Reply

Quote:
Originally Posted by KyleSmith
Посмотреть сообщение
You really need to learn to shut up when you don't know thinks, it was ****** who said it is a plugin issue.
We both know this it is? You don't have to repeat with backed-up information from others?

Quote:
Originally Posted by KyleSmith
Посмотреть сообщение
Yes, ****** - Someone who is extremely advanced and rarely gives out false information. A plugin RAM will use more RAM when there is a leak, obviously in this case there is a leak somewhere.
See the above

Quote:
Originally Posted by KyleSmith
Посмотреть сообщение
know for sure although plugins may use constant ram is there is a leak, it will use more.... :/

tl;dr - Don't talk about something you don't know, it was ****** who told me this information.
Where did I disagree?

ok ok ok but did he tell you that it was the IRC Plugin? I'm just trying to say, a plugin that uses like ~13-20mb constantly and not going higher over days and days, that is not a memory leak. Because what you stated here "It did start at 45mb but to jump to 60 and maintain is pretty fine, although there is probably a small leak in the mysql from that 45 to 60mb, the rest 60-2gb is more than likely the mysql plugin." IS NOT what a memory leak is.

So I don't understand, you admit that the MySQL plugin is most likely the reason for the memory leak but your still asking if a jump from 45mb to 60mb on start and not going higher is a memory leak... sorry am I confusing myself? If I really am I'll just gtfo.
Reply

I read KyleSmith's original post over and over again to see if he's trying to say that there's a memory leak in this plugin somewhere, but I just cannot understand what people should conclude from the post.

But yes, a small leak of 30 bytes per function call where the function is called 10 times a minute will lead to 300 bytes leaked in a minute, 18000 bytes (~17.5kilobytes) in an hour, 422kilobytes a day. This is an example of something I forgot to free() during development lately (an allocation around 25-40 bytes depending on some other size).
What I'm trying to say that something leaking 2 whole gigabytes of memory is seriously bad. This is what some OSes limit their heap space at for a single program. I haven't seen such nonsense with any popular or semi-popular plugins released here (although mine on my own forums once did leak memory on every mysql_real_escape_string ).

A single "jump" from having 45mb allocated to having 60mb allocated on startup is likely associated either to the internals of the SA-MP server or some plugin such as the mentioned MapAndreas.
Reply

@Everyone -

When the IRC plugin is NOT loaded, it will start at 45-52 mb (I forgot) then increase to around 62mb and maintain 62mb forever.

When the IRC Plugin IS loaded it will start at 45 mb and gradually increase over 24 hours for example to a high ram usage number.

@Kar -

"Does it increase over time or constantly? Because plugins use ram, example MapAndreas uses 70mb, does it go up or down? no it stays in the range."

That statement basically says all plugins stay in a range and do not go higher or lower. Hence my reply earlier.
Reply

Oh, well say that. Your post didn't make sense at all, instead of trying to make things complex just simple state whats happening like how you just said it.

Well if thats the case then ok, idk because I already told you my ram doesn't increase gradually with this plugin (4 bots, 4-6 days uptime with constant irc notices and messages), stays around ~55-64mb... (64 mb right now with 3 days uptime so idk)

No KyleSmith, I was referring to MapAndreas only obviously, you always keep trying to point out something to make me look bad/stupid... urgh.
Reply

Quote:
Originally Posted by Kar
Посмотреть сообщение
Oh, well say that. Your post didn't make sense at all, instead of trying to make things complex just simple state whats happening like how you just said it.

Well if thats the case then ok, idk because I already told you my ram doesn't increase gradually with this plugin (4 bots, 4-6 days uptime with constant irc notices and messages), stays around ~55-64mb... (64 mb right now with 3 days uptime so idk)

No KyleSmith, I was referring to MapAndreas only obviously, you always keep trying to point out something to make me look bad/stupid... urgh.
Why bring a MapAndreas plugin into the conversation if it isn't relevant? If only that plugin is constant RAM why mention it.

You basically said it as if: "MapAndreas uses constant ram, so should all plugins." Read how you said it. I'm not making you look bad, if you said it correctly there wouldn't be an mad response from me.

When you said: "does it go up or down? no it stays in the range." and especially the "no it stays..." you sound arrogant.
Reply

No, I was stating the difference between what a memory leak is and isn't wtf because clearly you really are bad at explaining and heh, I'm not the only one.

Quote:
Originally Posted by AndreT
Посмотреть сообщение
I read KyleSmith's original post over and over again to see if he's trying to say that there's a memory leak in this plugin somewhere, but I just cannot understand what people should conclude from the post.
Anyway I'm finished, not interested in continuing this.

Also, if my English skills are correct, arrogant doesn't even work there.
Reply

Quote:
Originally Posted by Kar
Посмотреть сообщение
No, I was stating the difference between what a memory leak is and isn't wtf because clearly you really are bad at explaining and heh, I'm not the only one.



Anyway I'm finished, not interested in continuing this.

Also, if my English skills are correct, arrogant doesn't even work there.
If you wasn't interested in continuing this then why continue it with the English statement?

When I say arrogance I mean: "it's my way or the highway", "I'm right, you're wrong" etc.
Reply

Quote:
Originally Posted by llama
Посмотреть сообщение
I had just tested this and it works fine for me. Maybe you are inputting the wrong key for the channels? Alternatively, invite-only may be enabled on the channel, the bot won't be able to join (even with a valid key) unless it is invited into the channel.
Maybe it's because the bots aren't identified fast enough?

pawn Код:
public IRC_OnConnect(botid, ip[], port)
{
    new string[96];
    printf("[IRC] - IRC_OnConnect: Bot id: %d Has Connected To %s: %d", botid, ip, port);
    IRC_AddToGroup(gGroupID, botid);
    if( botid < MAX_IRC_BOTS )
    {
        format(string, sizeof(string), "ghost %s "#IRC_BOT_PASSWORD"", gBotNames[botid - 1]);
        IRC_SendRaw(botid, string);
    }
    IRC_SendRaw(botid, ":PRIVMSG NickServ IDENTIFY "#IRC_BOT_PASSWORD"");
    IRC_Say(botid, "NickServ", "IDENTIFY "#IRC_BOT_PASSWORD"");
    IRC_JoinChannel(botid, IRC_CHANNEL);
    IRC_JoinChannel(botid, ECHO_IRC_CHANNEL);
    IRC_JoinChannel(botid, ADMIN_IRC_CHANNEL, IRC_BOT_ADMIN_CHAN_KEY); // bots aren't identified fast enough, remember to fix this.
    IRC_SendRaw(botid, "JOIN "#ADMIN_IRC_CHANNEL" "#IRC_BOT_PASSWORD"");
    return 1;
}
I use a mIRC Bot to invite them and in IRC_OnInvitedToChannel force them to join the channel

and it works without the password

pawn Код:
public IRC_OnInvitedToChannel(botid, channel[], invitinguser[], invitinghost[])
{
    printf("*** IRC_OnInvitedToChannel: Bot ID %d invited to channel %s by %s (%s)", botid, channel, invitinguser, invitinghost);
    if(strfind(channel, IRC_CHANNEL, true) != -1)
    {
        IRC_JoinChannel(botid, channel);
    }
    return 1;
}
Reply

Is there anyway to remove the flood kick on bots?
Reply

Vaov, very nice.
Reply

I have a question...
My IRC bot connect successfully on my Windows server but the bot always fails to connect on my Linux server. (I have this problem for some weeks)
I don't know the reason, I use this plugin longer than 2 years and had never problems like that...

Logfile:
Код:
IRC_OnConnectAttemptFail: Bot ID 1 failed to connect to 50.19.227.63:6667
Have someone an idea?
Reply

Great Man.
Reply

Suggestion
- IRC_GroupCount(groupid); - Gets the total amount of members in a group

pawn Код:
native IRC_GroupCount(groupid);
native IRC_IsUserOnConnected(botid, const user[]); // or something?
Possible Usage
pawn Код:
public IRC_OnDisconnect(botid, ip[], port, reason[])
{
    if(IRC_GroupCount(gIRCGroupChatID) == 0) // Ping Timeout
    {
        ConnectAllIRCBots();
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)