Page 1 of 4

MathBlade's Vote Scrubber — EXE(win) & APP(mac) version only

Posted: Wed Feb 21, 2018 5:12 pm
by MathBlade
This still uses the “l word”. Please note any apologies as this is not MS standards any more.


I used to have a web service available but now I have made it into an EXE. With luck I will be able to test my Mac version with a cheap MacBook I got over Christmas. You all rock!!

Hi everyone!

You will need to download the appropriate EXE and/or Mac app file to use on your OS. I will update these when versions change.

Minimum Requirements for the game: https://unity3d.com/unity/system-requirements
Windows: https://www.dropbox.com/s/cdwy03m0uhubf ... 1.zip?dl=0
https://www.dropbox.com/s/fqoab1tn75sc0 ... x.zip?dl=0

https://www.dropbox.com/s/0og85l130b8qj ... 2.zip?dl=0

https://www.dropbox.com/s/c88c0jfoom8rn ... 1.zip?dl=0

https://www.dropbox.com/s/daza0xlxbjt8o ... N.zip?dl=0

Mac:
https://www.dropbox.com/s/oardwjjtpucmx ... p.zip?dl=0
<< Mac version will be updated if anyone asks. Right now has a critical bug. Not sure if anyone here uses macs.

How to install for windows:
1) Unzip the file.
2) Go to Final Executables with Tabs (I may change the directory from time to time..but the idea is the same)
3) Run the unity executable within

How to install for Mac:
1) Download the file.
2) Remove the .zip at the end (if it's still there)
3) Run the .app file. (You may need to allow special permissions for it. If so do control+click and choose Open and then choose Open again.)

At a high level the Vote Scrubber offers:
-- Latest Vote Count [[What 99% of people want]]
-- A JSON of all votes in the game. {{This is what I would recommend hooking into if you want to do your own calculations}} A user specifically asked for the JSON so it's here but that user isn't here anymore so rip
-- Wagon data {{ Although it generally hits the max character limit and breaks it often. }} [[Havent added this to the app yet]]

What it doesn't do:
-- Double, Triple, Quadruple voters or people who can't vote or be voted for. << If you want these mechanics please do it by hand.
-- It is alignment agnostic. It does not know or care about anyone's alignment
-- PT games. Without a read only access account to every PT I can't set it up to read a PT thread. And honestly I don't want to have a userid/password entry exposed as I doubt I could write better security than vbulletin log ins. So your game has to be visible to the outside world.

What there are work arounds for:
-- Hated/Loved {{Moderators keep track of this in game and when a person gets to L-1 close the thread announce hated. Once they are flipped but the /H /L after the name to indicate the status. Loved pay attention after the HAMMERED post to see if they were hammered. "LOVED" is still in its infancy and still being worked on. }}

Things it supports:
-- Hydras/Nicknames
-- Many different kinds of misspellings, abbreviations, etc and vote override if all heck breaks loose just make a vote a certain way.
-- Putting in the NKs/Mod kills into it, so that way game can continue on
-- Replacements

Known issues:
-- Lag (reduced by rewriting job system for Unity. )

Long term plans:
-- Eventually rewrite the name detector tool (and possibly other pieces into PHP. It's currently in C#)

In the next post how to use it.

Posted: Wed Feb 21, 2018 5:18 pm
by MathBlade
How to use it
1) Make a vote settings spoiler
2) Put it somewhere in your rules post where you can edit it
3) Go to MathBlade's Vote Counter and put the thread where your settings are and the post number where your settings are.
4) Press scrub information and then copy the results into a reply box and format as suits your game.

Similarly the JSON retriever for all players and the JSON Retriever for a specific players and the Wagon Data compiler all use the same vote settings spoiler.

How to make a vote settings spoiler:
In one of your moderator posts put the following information
inside of a [s*poiler=]VoteCount Settings[/spoiler] (without the *)
priorVCNumber=AN INTEGER 0 OR GREATER THAT WAS YOUR LAST VOTE COUNT
url=THE URL WHERE YOUR GAME IS AT
playerList=A COMMA DELIMITED LIST OF PLAYERS
THAT STARTED THE GAME GOES HERE
. IF A PLAYER HAS MADE AT LEAST ONE POST THEY MUST BE REPLACED
replacementList=OLD1:NEW1,OLD2:NEW2,NEW1:NEW3
moderatorNames=YOUR USERNAME HERE {or if someone tries to vote who isn't part of your game put them here}
dayStartNumbers=COMMA DELIMITED NUMBERS OF YOUR DAYS HERE
cleanDay=true << LEAVE THIS ALONE NO REALLY JUST DO IT.
deadline=2018-01-07 07:00:00 -8.00 << That is exactly what would go between countdown tags if handwriting it.
deadList=PLAYERDEAD-NIGHTDEAD,PLAYERDEAD2-NIGHTDEAD
voteOverrides= << 99% of you won't need this. If you do ask me. You probably want a nickname.

There are optional settings:
color=BBCode for the color you want
Examples:
color=#8000BF
color=red
color=purple

Nicknames

For example, I have an alt called Commander Shepard. If people know that they might actually do VOTE: MathBlade in thread. Or for example Rational Numbers is a hydra of myself and Drixx.
In that case, nicknames are good. I'd recommend asking your players for any nicknames they have before the game starts.
Put them in {} after the player name.
For example, Commander Shepard{MathBlade}, Alisae
Or if doing multiple nicknames or players in a hydra do
Rational Numbers{MathBlade+Drixx}



ProdTimers
Use prodTimer=#,#,#,#
Where that is days,hours,minutes,seconds before the slots need a prod
If omitted results in 0,48,0,0

A practical example:
Spoiler: VoteCount Settings
priorVCNumber=36
url=viewtopic.php?f=83&t=73966
playerList=GuiltyLion,CultOfAthena{northsidegal},Not_Mafia,innocentvillager,WhyMafia,nancy,Wh4t,Wossi,Lil Uzi Vert
replacementList=Wh4t:UC Voyager,Wossi:Porkens,UC Voyager:RadiantCowbells,RadiantCowbells:Xayzeck,nancy:Toranaga,WhyMafia:Stitch
moderatorNames=MathBlade,Alisae
dayStartNumbers=0,392,545,768,1002,1072,1099,1161
cleanDay=true
deadline=2018-01-07 07:00:00 -8.00
deadList=
voteOverrides=

Code: Select all

[spoiler=Day 1][color=grey][Nov 30, 2017 14:29][/color] [b][color=#FF80FF]nancy[/color][/b] ~ [b][color=blue]innocentvillager[/color][/b] [post=#9785164]75[/post][color=grey][Dec 01, 2017 09:30][/color] [b][color=#FF80FF]WhyMafia[/color][/b] ~ [b][color=blue]innocentvillager[/color][/b] [post=#9789127]124[/post][color=grey][Dec 05, 2017 14:11][/color] [b][color=#FF80FF]WhyMafia[/color][/b] ~ [b][color=blue]innocentvillager[/color][/b]  [post=#9796945]284[/post]



Example Source: viewtopic.php?f=84&t=73966

Posted: Wed Feb 21, 2018 5:21 pm
by MathBlade
If you wish to use this in your game, please by all means feel free to do so. However, if you ask me for help, more than just settings calibration and into actually modding of the game of any way, I ask that you be transparent about it with the players of your game.

While the Vote Counter does not keep track of alignment in any way shape or form, I completely understand if someone does not want me to play in a game with it running while people learn to trust it.

As always I do take feature requests for it, but if it is complex or too difficult or not possible I am generally upfront about it.

Posted: Wed Feb 21, 2018 5:23 pm
by MathBlade
Lastly, I am one human being, I am the only person supporting this application. Needless to say I will not be available at 2 am if your sudden unexpected turbo breaks because of a bad spelling or Amazon has a hiccup. Granted I do try to respond the same day you have a question however please understand I am one human being :) I love you guys or I wouldn't do this but please be nice :)

Ignore this — it’s all in app now. Was too expensive for Amazon server
Is the tool up:
http://mafiascumvcp.cpfz2cfvjf.us-west- ... com/hello/ << Checks the user facing side
http://mafiascumvoteenvironment.us-west ... 1.svc/Ping << Checks the engine

If both of these are up then you'll see hello world and Ping Received. If one of them is down feel free to give me a shout. If both of these are up and you have an error, check your settings first then grab me if that doesn't work.

Posted: Wed Feb 21, 2018 5:49 pm
by Flubbernugget
This is really cool stuff!

Only having secondhand accounts with the language, I'm curious as to why you would want to go from any language to PHP.

Posted: Wed Feb 21, 2018 5:54 pm
by Alisae
MathBlade is a god btw please pin this or something

Posted: Wed Feb 21, 2018 5:54 pm
by MathBlade
I was originally building it as a quick thing for nancy to have wagon data because I got bored doing it by hand and she already tabulated the votes, so I did it in C# and then started turning it into a mafia bot with a scrubber when mastina ended up falling behind on VCs (hugs to mastina it wasn't anything bad) and I needed a vc and I needed vc data for Beneath the Mask. So I built a scrubber.

After that I'm like shit...I should probably make this public and shared it with my scumbuddies. Then started running it in a few games. It's mainly C# because that's what I know and I may turn it into a discord bot or a bot that runs games. We'll see for that.

Posted: Wed Feb 21, 2018 5:58 pm
by MathBlade
In post 5, Alisae wrote:MathBlade is a god btw please pin this or something

Not a god. I just like manipulating and coding for data and outputting it.
A lot of other people have strengths that amaze me.

Posted: Wed Feb 21, 2018 5:59 pm
by MathBlade
The main reason I want to put it into PHP is then it integrates much better with the website. However that's a pretty big undertaking and with my job that's kinda fallen by the way side especially since the rob and kris one is down so we're kinda without it for the moment.

Posted: Thu Feb 22, 2018 7:56 pm
by LicketyQuickety
This is huge.

@MathBlade, what are some of the more bigger things this kind of thing has the ability to accomplish?

Posted: Fri Feb 23, 2018 6:15 am
by MathBlade
Detecting bold tag votes
Every vote available in JSON form
Every vote available in JSON form filter by slot
Detecting almost all misspellings
Linking to the vote in the vote count

There are mainly two “big dream” projects that I have for it
1) Automated vote counts on MS, which follows into automated games
2) Discord type games

There are other applications too which is why the JSON is out there if someone comes up with ideas.

Mainly I need to get Amazon to quit throttling my network calls to MS. That’s the big bottle neck right now.

Posted: Fri Feb 23, 2018 6:43 am
by MathBlade
I really should have it handle informing mod when prods needed too
And asking mod to replace people.

Posted: Fri Feb 23, 2018 11:58 am
by Alisae
I would like it to count how many posts someone has made in a day phase

Posted: Fri Feb 23, 2018 12:27 pm
by LicketyQuickety
In post 11, MathBlade wrote:I really should have it handle informing mod when prods needed too
And asking mod to replace people.
One step at a time, Math. You don't need to implement everything right away. Better to not get burnt out like Realeo did with his ELO project.

Posted: Fri Feb 23, 2018 3:42 pm
by MathBlade
Feature requests post

— Count how many posts a user has made in a day phase

— Export VC data to google sheets
— Multiple Vote Counts <hurt/heal tags>
— Start and stop wagon data for given post numbers.
— Prod needed and last time posted data.


This was same spots so I did them first.

Posted: Sat Feb 24, 2018 2:55 pm
by Gamma Emerald
I wonder if we can make a thing like MU's Mafia Host bot

Posted: Sat Feb 24, 2018 3:52 pm
by MathBlade
Possible yes.
Ideally I need to have most of this rewritten into PHP for that. There’s a separate effort for the barebones.
That’s a much bigger endeavor. Mainly I want to make sure it has all the vote counting features needed before I start the php side of this if at all possible since it’s a lot easier for me to get two hours to add a new feature than it is rewriting the project into php

Posted: Sat Feb 24, 2018 5:49 pm
by Beefster
Funny thing is, I've been working on one of these for modding my game and people were just meh about it. Probably because mine is a command line interface and that scares anyone who doesn't regularly do commandline stuff. I should probably work on hooking it up to a web server if I want people to use it. It works for my needs though, so I'm not super motivated to do that. :shrug:

I'm willing to share my username matcher, but it's in Python, so not sure if you'd really be able to integrate it.

Posted: Sat Feb 24, 2018 9:34 pm
by MathBlade
Actually the front end is python to mine. The main engine is c# but the scripts that make the service call and display the data are python scripts. Depending upon what you have it may be hard or easy. Amazon does python in a really weird way. Hit me up on Discord sometime Beefster. I'll send you my details.

Posted: Mon Mar 05, 2018 5:05 am
by Thestatusquo
I'm not trying to be negative, but I just don't understand how your tool takes so long per call?

What the hell is going on? 36 seconds per call?

Posted: Mon Mar 05, 2018 7:39 am
by Alisae
probably has to do with the server Math is using.

Posted: Mon Mar 05, 2018 8:10 am
by Thestatusquo
Pretty sure they're just using AWS?

Posted: Tue Mar 06, 2018 5:02 am
by MathBlade
AWS is throttling the network calls because I am not paying for god awesome tier of server.

So I am looking for other cheaper service hosts that don’t do that.

Posted: Tue Mar 06, 2018 5:06 am
by Thestatusquo
In post 22, MathBlade wrote:AWS is throttling the network calls because I am not paying for god awesome tier of server.

So I am looking for other cheaper service hosts that don’t do that.
ugh that sucks.

I'd be interested in looking at the source if you have that up in a repo somewhere.

Posted: Tue Mar 06, 2018 5:08 am
by MathBlade
Later sure.

I have an older version on github.

It runs blazing fast on my local. So mainly I need to talk with them to see how much it would be to not have that happen and compare around.