F2P Addon

I logged in with the addon - and all it seem to do is spam: "Too many in friends list, removing 17" - FOREVER... what's going on
<
 
The perils of popularity, Linden
<
 
the new addon has lvl requirements to work now also. you have to be above lvl 5 to talk.



I'm not certain that that is the case, for a couple of reasons.



One, the notes on the latest release says "under level 3", not 5. And I had one of the people last night who was trying to get it to work level up to level 4 to test it... it still wouldn't work.



Two, we got spammed by 24s on alts last night: 4 different characters came in to the chat and started spamming us with the usual drek... they were all level 1 characters. This was happening at the same time as the two genuine players were unable to communicate.



Three, in this particular case, the issue manifested itself by the players' friends lists not being populated with the names from the chat channel. Even when they both added me manually to their friends list, they could not hear me talking in channel. Worth noting though that in both cases, I could hear them talking in channel. They were both F2P.
 
Just a little info, I did get to level 6 (just in case) and I'm still unable to chat.



Bare in mind that I'm rather.. ignorant, when it comes to technology. So the issue could still be my fault. I feel like I did everything right, but I'm not sure.
 
I've just had yet another person contact me via PM here on the boards to report that they are seeing the exact same symptoms as I reported up above. I'm sure Yasueh is working on an answer, just give him some time.
<
 
Here's the problem:
  • 1.2.3b gets it's information about the level people are, to decide whether to block their incoming messages or not, from the friends list.
  • The levels in the friends list don't get updated until it is opened or you log out and in again (getting up to date information on characters who aren't in raid/party is a big issue I'm facing making this addon).
  • You can level to 3, but until someone refreshes their friends list, their addon will still be thinking you're level 2, and still block your incoming messages.

The problem will only exist until everyone in the channel has logged out/back in or refreshed their friends list.



I can fix it, but then everyone with 1.2.3b would have to update for the fix to work, as the people who didn't update would still be blocking incoming messages*. As the problem will only last for at most 1 day, I'm not in any major hurry to fix it, especially when any changes to the released version would also have to be added to the 1.2.4 alpha I'm working on at the moment. I'd rather fix just the alpha, instead of having to fix 2 versions that are now quite different.



For the moment a short term fix for those who are joining as new characters would be to not enable their addon or join the channel until they have reached level 3. Then the information they first provide will allow them to chat without being blocked.







As for Lindenkron's problem:

  • Update to the current version.

or:

  • Delete some friends.







*Thanks to everyone who has downloaded an up to date version. Looking at the database for the number of people who are using 1.2.3b compared to older 1.2.x versions, I'm guessing the version check is working. Unfortunately over 60% of the people in the channel are still using pre 1.2.0 versions.
 
Using the addon on another realm with no alts. Dragon said it sounds like its looking for alts i have and can't find them or something?

Code:
Date: 2011-10-26 23:41:17

ID: 1

Error occured in: Global

Count: 1

Message: ..\AddOns\F2PAddon\f2pdata.lua line 238:

   bad argument #1 to 'pairs' (table expected, got nil)

Debug:

   [C]: ?

   [C]: pairs()

   F2PAddon\f2pdata.lua:238: F2PData_BuildDBSkeleton()

   F2PAddon\f2paddon.lua:37:

      F2PAddon\f2paddon.lua:32

AddOns:

  Swatter, v3.2.4 (<%codename%>)

  ACP, v3.3.16 

  Babylonian, v5.1.DEV.312(/embedded)

  BadBoy, vv6.532

  Bagnon, v4.2.9

  BagnonForever, v

  BagnonTooltips, v

  Bartender4, v4.4.19

  BattlegroundTargets, v40200-12

  ButtonFacade, v4.2.375

  Chinchilla, v2.4.2

  ComboPointsRedux, v2.2.2

  Configator, v5.1.DEV.312(/embedded)

  eAlign, v

  F2PAddon, v1.2.3b

  FishingBuddy, v1.0.6a

  Gatherer, v3.2.4

  Gladius, vv2.0.16-beta

  Grid, v4.2.0.1442

  Icicle, v0.9.2

  kgPanels, v1.6

  LoseControl, v4.21

  Masque, v4.2.375

  MasqueCaith, v4.2.76

  MikScrollingBattleText, v5.6.108

  OmniCC, v4.2.3

  PitBull4, vv4.0.0-beta29

  PitBull4Aggro, vv4.0.0-beta29

  PitBull4Aura, vv4.0.0-beta29

  PitBull4CastBar, vv4.0.0-beta29

  PitBull4CastBarLatency, vv4.0.0-beta29

  PitBull4CombatFader, vv4.0.0-beta29

  PitBull4HealthBar, vv4.0.0-beta29

  PitBull4HideBlizzard, vv4.0.0-beta29

  PitBull4HostilityFader, vv4.0.0-beta29

  PitBull4LeaderIcon, vv4.0.0-beta29

  PitBull4LuaTexts, vv4.0.0-beta29

  PitBull4ManaSpark, vv4.0.0-beta29

  PitBull4PhaseIcon, vv4.0.0-beta29

  PitBull4PowerBar, vv4.0.0-beta29

  PitBull4PvPIcon, vv4.0.0-beta29

  PitBull4RangeFader, vv4.0.0-beta29

  PitBull4RoleIcon, vv4.0.0-beta29

  PitBull4Sounds, vv4.0.0-beta29

  PitBull4VisualHeal5, vv4.0.0-beta29

  PowerAuras, v4.22

  Prat30, v3.4.24      

  Prat30Libraries, v

  Quartz, v3.0.7

  SaySapped, v2011-07-01

  Skada, v1.3-7

  SkadaAbsorbs, v1.0

  SkadaCC, v1.0

  SkadaDamage, v1.0

  SkadaDamageTaken, v1.0

  SkadaDeaths, v1.0

  SkadaDebuffs, v1.0

  SkadaDispels, v1.0

  SkadaEnemies, v1.0

  SkadaHealing, v1.0

  SkadaPower, v1.0

  SkadaThreat, v1.0

  SlideBar, v3.2.4 (<%codename%>)

  SmartTargeting, v1.10

  TidyPlates, v6.3.8 (R307)

  TidyPlatesGraphite, v

  TidyPlatesGrey, v

  TidyPlatesNeon, v

  TidyPlatesQuatre, v

  TidyPlatesHub, v

  TinyTip, vv2.08

  xanErrorDevourer, v1.2

  BlizRuntimeLib_enUS v4.2.2.40200 <us>

  (ck=765)
 
Someone else had the same problem, but reported it in a PM (I'm going to ignore PMs from now on, or at most copy them to the thread and leave them for a day or two).



Here's the solution:



The part of the F2PData_BuildDBSkeleton() function that is throwing up the error, is there to clear out incompatable data that might be left in the database from an older version of the addon.





However the function isn't working if you're on more than one realm, as it isn't building the proper database skeleton for realms you join after the first. It's not putting a blank table in for the alts you might have on the 2nd, 3rd, etc realm, so the part that checks those tables for old data isn't finding the table it expects.



I'll get this fixed for the next version of the addon, but that might not be released for a while, as I want to get a couple of new features added before then.



As yet, there's nothing else in the addon that actually reads the database, so it won't matter for the moment that yours doesn't have data for every realm you join (and it'll get added when you update to a newer version that needs the data anyway).



For now if you want to get rid of the errors, you can fix the F2PData_BuildDBSkeleton() function by changing the part that looks like this (at the end of the f2pdata file. The comments after '--' might be different to yours):



Code:
function F2PData_BuildDBSkeleton()

	if (F2PAddon_Variables == nil) then --if the complete table is blank, as when the addon is first installed

		F2PAddon_Variables = {

			["Alts"] = {

				[thisRealm] = {},

			},

			["Realms"] = {

				[thisRealm] = {

					[myFaction] = {},

				},

			},

		}

	end

 

	if (F2PAddon_Variables.Realms[thisRealm][myFaction] == nil) then --if the data for this realm and faction doesn't exist,

		F2PAddon_Variables.Realms[thisRealm][myFaction] = {}		 --add a new blank table for it

	end

	

	for i, v in pairs(F2PAddon_Variables.Alts[thisRealm]) do --clears out the alts data if the database contains the old 'name = false' format

		if i == myName and v == false then

			F2PAddon_Variables.Alts[thisRealm] = {}

		end

	end

		

	if not tContains(F2PAddon_Variables.Alts[thisRealm], myName) then

		tinsert(F2PAddon_Variables.Alts[thisRealm], myName)

	end

end



to this:



Code:
function F2PData_BuildDBSkeleton()

	if (F2PAddon_Variables == nil) then 	--if the complete table is blank, as when the addon is first installed

		F2PAddon_Variables = {		--make this it's basic structure

			["Alts"] = {

				[thisRealm] = {},

			},

			["Realms"] = {

				[thisRealm] = {

					[myFaction] = {},

				},

			},

		}

	end

 

	if (F2PAddon_Variables.Alts[thisRealm] == nil) then --if the Alts data for this realm doesn't exist

		F2PAddon_Variables.Alts[thisRealm] = {}		--add a new blank table for it

	end

 

	if (F2PAddon_Variables.Realms[thisRealm] == nil) then --if the data for this realm doesn't exist,

		F2PAddon_Variables.Realms[thisRealm] = {}		 --add a new blank table for it

	end

	

	if (F2PAddon_Variables.Realms[thisRealm][myFaction] == nil) then --if the data for this faction doesn't exist for this realm,

		F2PAddon_Variables.Realms[thisRealm][myFaction] = {}		 --add a new blank table for it

	end

	

	for i, v in pairs(F2PAddon_Variables.Alts[thisRealm]) do --clears out the alts data if the database contains the old 'name = false' format

		if i == myName and v == false then

			F2PAddon_Variables.Alts[thisRealm] = {}

		end

	end

		

	if not tContains(F2PAddon_Variables.Alts[thisRealm], myName) then

		tinsert(F2PAddon_Variables.Alts[thisRealm], myName)

	end

end



Either that or turn off the LUA errors.
 
It's caused by the anti trolling feature, and the usual API problem of it's functions not giving accurate data. In 1.2.4 I'll be having people's addons report when they ding 3 or 25 so that everyone can update the level as soon as it happens, and they can talk immediately. They're still sending the messages, it's just that they get hidden at the receiving end until the friends list updates (I'll be using /who instead. It gives more reliable data, but also puts more load on the server if used too much, and is more complex to code in than queries to the friends list).



I've got to take into consideration that P2Ps can send to the channel without the addon, and they're the ones most likely to be trolling, so I can't just rely on stopping the message at the senders end.



1.2.4* 1.2.5 will be a mandatory update. At the moment all the addons are using the same addon channel to send both chat, and messages that the addon uses, and it's getting harder to filter out the ones for the addon so they don't show in chat. 1.2.4 1.2.5 will still show messages sent from the old versions, but it will be sending chat and addon messages to 2 completly new addon channels, specifically for those types of messages. 1.2.5 1.2.6 will drop support for the old addon channel completely, as hopefully by then everyone will have 1.2.4 1.2.5 or up.



I'll look at getting the addon onto Curse, so people can get updates more easily.





1.2.4 ended up being a bug fix release.
 
I've got to take into consideration that P2Ps can send to the channel without the addon, and they're the ones most likely to be trolling, so I can't just rely on stopping the message at the senders end. [...] 1.2.4 will still show messages sent from the old versions, but it will be sending chat and addon messages to 2 completly new addon channels, specifically for those types of messages.



Wouldn't an easy solution be to quash all actual text spoken in the chat channel by a normal person, if the addon is (as I had hoped it was) sending the messages we type directly to the other addon users through a different means?



I'm not a coder at ALL, but, one of my biggest concerns all along has been that a troller doesn't need to have the addon at all to grief us, and none of the anti-spam measures actually do anything, as long as it's possible for a person to simply join the channel and say stuff.
 
I'd rather leave P2Ps able to send to the channel as normal, without any blocking unless they are low level, because sending chat through the addon puts more load on the server, as it has to send the message out individually to each person in the channel, while a P2P only has to send one message to the server/channel for it to be seen by everyone.



With the number of messages the server gets from the addon going up exponentially as the number of people in the channel grows, I'd rather have every person who can send to the channel normally doing so.



And no, the anti-spam does work. It's not my fault most people are still using old versions of the addon that don't have the blocking feature.
 
Sorry, Yasueh, I didn't phrase my sentence all that well, I wasn't trying to say that your anti-spam measures didn't work. I don't know how everything works. I do know that a level 1 was able to spam us a few days ago. If that was because we still have the old addon version, then yes I'll call that blow... it just seems more stable for the time being.
 
minimexx said:
Alright heres whats going down, i have both add ons F2PAddon and F2PI addon, when i run both at the same time i can talk but I don't see anyones chat and have no friends, when I run just F2PI i can see everyones chat but when i try to chat it says you have no permission to speak. When i run just F2PAddon i can speak and everyone can see me but i can't see any chat. I am in the channel f2ptwink and still have had no friends added to my list and all that other crap. Thanks



Are you either under level 3, or exactly level 24?
 
New version 1.2.4b released. This beta will be considered unstable as I cannot do enough preliminary testing on my own, and there may be bugs that affect certain groups of players. The changes are mainly to improve the handling of how low level players / 24s are blocked from the chat, so the rest of the addon should work fine for the level 20 majority.
 
Yasueh, I did have the newest version - and still got the error message spam. You might want to limit that error message to a "once show" ;p. I removed all my friends on the friendlist (had 100... took a fucking long time), and tried logging in again. Appears to be working (I can see people chatting).



Next issue at hand, I can't chat in the channel on a level 20 character, it says;

[F2PAddon] Levels 1,2 and 24 have been prevented from posting to the channel, in order to limit trolling.



... Argh!
 
Damn, I guess you're the 2nd person who got it before I put a fix out for that (same version number, different upload). I'll add some macros to the first post that clear the friends list / purge the addon's database, in case someone needs to do that again.
 

Users who are viewing this thread

Top