World of Warcraft
Post

Subject:

  •  

  • You are not allowed to post in this station
  • You can make new forum topic(s).

    New forum topics are accrued every minute(s) up to a maximum of topic(s).

Message:

Help keep these forums a fun and safe place for everyone - please report any Code of Conduct violations you see, including:

  • Threats of violence. We take these seriously and will alert the proper authorities.
  • Posts containing personal information about other players. Physical/email addresses, phone numbers, and inappropriate photos and/or videos.
  • Harassing or discriminatory language. This will not be tolerated.
  • In Response To:
Darkopia
  • USWest
  • 9. Re: Make Dclone a random event   03/30/2011 04:15:53 PM PDT

Q u o t e:
Here you go, "random" suggestion for dclone spawns, this doesn't get into the is SoJ selling a good idea philosophy, just how to make it less able to be gamed.

80-120 sojs sold causes a "walk"

when walk occurs, it occurs in the game that sold the stone, and ALL games in hell on the realm matching this game name pattern, no this isn't in any actual code language so don't try to yell @ me for it.

For every game name in hell
pick a random number 0 .. 151 inclusive
SHA1(GameName) => 160 bit stream
For each game where bits randomnumber .. randomnumber+7 inclusive, assign these bits to a character, or w/e you use for storing data.
compare these 8 bits to the 8 bits of the game name that sold the stone that walked dclone, where they match, dclone walks in that game too. Note the random number changes for every game, making even similar/same digests not produce the same results.
Assuming even distribution of bits in a SHA1 message digest (this may not be the case, I couldn't say) you would have an approx 1/256 chance to see dclone if a walk occured and you were not the person who sold the soj to walk him, and a 100% if you were the person who sold the ring. If you wanted a higher chance, say 1/128, or 1/64 you could use 7 or 6 bits instead of 8, though that adjustment could be done.

Some questions, why hash the game name? The goal of the hash is to make it fairly difficult to come up with a similar/same message digest given differing inputs. Another hash function such as a SHA2 family could be used, but I don't really see the need. Games such as "bring soj" and "bring soj" while having similar game names have different hashes. Even similar hashes or the same hash would not guarantee a walk because the random number for the start of the comparison is picked.

WHY though, doesn't the current method work?

The current method is linked to the internal server IP you're on, w/e that structure is I'm unsure, but the MCP server hosting the game counts sojs and every 80-120 sojs sold on that specific server all hell games walk across all game modes(even classic, why?). This leads to people camping servers spamming join games with hundreds of keys to find games on that specific server, in order to get hundreds of charms themselves. This causes lag, server crashes, and ensures that players joining games normally don't actually get Dclone to spawn because as a server fills up the odds of getting a game on that server is reduced. Players who might join a game, quest for 1/2 hour, and make a new game have almost no chance to get a clone spawn. This needs to be addressed.



Can you please dumb this down for those of us who don't understand computers very well. From what i can understand it's just a solution to make the spawn even more random than it already is which leads to even more duping.
Blizzard Entertainment