Tools to ease botting pains. When I update, I'll post change logs here. These tools are based on PowerShell tucked behind a GUI. I use Sapien PowerShell Studio for my script editing and GUI creation. The code and binaries are uploaded to GitHub. To Do: 3/26/2020 - PEQ Configurator is eating up way too much processor power. Will work on this as time permits. Links: Github (Source and Exe) - https://github.com/LotsofTimeSlices/Everquest Change logs: 4/17/2020 - EQ Switch ADD: Added option to point to toons.csv for class grouping and 'Saved Groups.ini' for on-the-fly group changes UPD: Updated internal functions for more efficiency UPD: Removed group option from toons.csv - now only used for classes UPD: Several minor under-the-hood changes and cleanup 3/9/2020 – EQSwitch ADD: Added Tray Icon option ADD: Added Always on Top option 3/08/2020 - EQSwitch UPD: Updated source link UPD: Changed resize minimum to fit into a compact square UPD: Reworked how group sort is referenced and edited. A Toons.CSV file is required. ADD: Added Toons.CSV import ADD: Added AutoComplete - SuggestAppend option ADD: Added a sort option for classes. A Toons.CSV file is required. UPD: Updated help for new features and added change log 3/8/2020 - PEQ Configurator UPD: Added Class and Group columns to Sample Toons.csv UPD: Updated help dropdown UPD: Added Change Log to help 1/25/2020 - PEQ Configurator UPD: Added listview check for kill and restart buttons UPD: Enabled legacy item Missing Toons UPD: Updated help and tooltips UPD: Minor UI and grammar changes UPD: Updated version as major to reflect last change since it was mostly a re-write – v2.x UPD: Moved Repo on GitHub 1/22/2020 - PEQ Configurator Major update UPD: Complete rewrite of process monitor UPD: Reworked GUI and moved setup to last tab UPD: Added check and reminder to fill out setup tab UPD: Removed passwords column in Sample Toons.CSV (manual step) UPD: Updated help to reflect changes UPD: Added legacy tab and moved old code to it 1/22/2020 - EQSwitch UPD: Updated program icon 7/24/2019 - PEQ Configurator UPD: Updated EQ CPU Affinity to scale with all logical cores instead of 8 (value of 255) 6/28/2019 - PEQ Configurator UPD: Updated Hung EQ Process Monitor. Added a second timeout to reduce false positives. 6/2/2019 - EQSwitch (QuickSwitch) ADD: Added Grouped sort option UPD: Added refresh for each sort click UPD: Removed sort option none UPD: Updated Tools menu order and added separators UPD: Moved to multi-form project 5/31/2019 - PEQ Configurator FIX: Corrected issue where Restart Missing Toons button would not enable in Hung/Kicked Processes Window 5/25/2019 - PEQ Configurator UPD: Cleaned up help structure, grammar and moved prereqs to re-usable functions UPD: Added shortcut folder and EQBCS file location conditions to hung/kicked process buttons 5/22/2019 - PEQ Configurator ADD: Added manual kicked toons check. For finding toons that have been kicked to login, character select, it's kind of cheesy but works. 5/16/2019 - EQSwitch (QuickSwitch) FIX: Disabled saving size in a minimized window state 5/13/2019 - EQSwitch (QuickSwitch) FIX: Disabled saving position in a minimized window state 5/12/2019 - EQSwitch (QuickSwitch) UPD: Reworked UI - smaller by default and resizable UPD: Saved font size will now display correctly in the menu strip ADD: Added ability to change and save window size, location, font size, and sort order ADD: Added help > About FIX: Textbox will now clear on refresh Known Issues: EQSwitch only works with unique process names. Please make sure each process is named after your toon. 4/20/2019 - PEQ Configurator UPD: Poll time will now error on spaces as well any non-numeric characters UPD: Poll time will no longer reset to 30 if EQ is not running 4/17/2019 - PEQ Configurator UPD: Removed Quick Switch window ADD: First run help UPD: Added INI save for poll time UPD: Rearranged buttons UPD: Updated labels, descriptions, tooltips 2/11/2019 - Private Server Scripts NEW: Added another script to sync skills from PEQ to a private server 2/10/2019 - Private Server Scripts ADD: Created a couple of scripts to speed character equipment sync from live emulated server to private server 1/29/2019 - Quick Switch ADD: Added download link for Quick Switch 1/28/2019 - PEQ Configurator UPD: Added better filtering for Flag Check 1/26/2019 UPD: Added sort to flag check UPD: Grayed out flag check if EQBCS file location is empty 1/26/2019 ADD: Flag Check ADD: Help topics 1/25/2019 ADD: Added process count to Quick Switch ADD: Added Clear Output button UPD: Minor UI changes 1/20/2019 Created EQ process monitor to monitor and notify when an EQ process has become unresponsive. It opens a separate PowerShell window which will poll based time entered or a 30 second default. Tweaked UI Removed incorrect ToolTip 1/19/2019 Added Quick Switch for fast toon switching. (Thanks Glitter for the idea) Added Hung/Kicked Process action. Identifies and allows killing of these processes Disclaimer: Software is provided as is and without any warranty. Feel free to modify and redistribute the code as desired. Only tested on Windows 10 with base PowerShell 5.1.
Created a small PowerShell GUI to assist with creating Shortcuts, AutoHotKey body, and MQ2AutoLogon body. Built to help the move to my laptop. Link for anyone interested: https://github.com/LotsofTimeSlices/Everquest Question/comments - drop me a line...
Added a few more features and converted to an executable for anyone that doesn't want to mess with the script. This is built on the PowerShell v5 engine using PowerShell Studio 2018. Bugs are likely - please let me know. Start Missing Toons - needs a populated shortcuts folder. It checks what's running against the (toon-named) shortcuts in the folder. It creates an autohotkey file in your %temp% folder and runs it. The format and pre-reqs are required. Save as Default Locations - saves to the two paths to an INI where the script/exe is being run from so it doesn't have to be re-entered upon each launch.
Another update: Added a hung/stuck process checker which allows a quick way to find and kill EQ processes that are hung or when a toon gets kicked out of the game. Added a feature from Glitter's request for a toon switcher. I'm quite surprised just how fast it is. Minor cleanup of help.
I finally purchased a personal copy of Powershell Studio so I should be able to crank out updates a bit quicker. Suggestions and feedback are always welcome.
Looks pretty good - out of curiousity how does the flag check work? Does it look at the last 1000 or so lines of the eqbc log file and check for "Nothing seems to of happened" or whatever the failure measure is for not getting a flag?
Thank you much for the reply. Since there are no time stamps in the log, I parse the entire log and look for anything that matches 'flag', remove all duplicates, and sort. There is some more data massaging that occurs but for the most part that's it. I would like to be able to make it where you didn't have to relaunch EQBCS between flags but without a timestamp that is going to be a big chore. I know jack diddly about C++ or I'd add a timestamp to each line for EQBCS. edit - Now that I'm thinking about it, I might be able do to something with the actual line count. Save out a variable after all flags are confirmed in one location and continue from that point to the next flagging. Hmm... Thanks for saying 'the last 1000 or so lines' - I'll chew on this for a bit and see if any other ideas form.
After upgrading my computer to a 12 core Ryzen, I noticed my EQ processes were only attaching to the first 8 logical cores. When I found how to set processor affinity (ages ago), it used 255 for all cores. I found it uses a formula that grows exponentially --> a(n) = 2^n - 1. Something about binary and Mersenne numbers - not a numbers guy here. Before: After: Updated PowerShell code which should scale with the number of logical processors: Code: [int32]$ProcAffinity = [math]::pow(2,((Get-WmiObject -class Win32_processor).NumberOfLogicalProcessors))-1; Get-Process eqgame | ForEach-Object { $_.ProcessorAffinity=$ProcAffinity } If you're using the batch file and have more than 4 cores/8 logical, you might want to update your code. I've also included this update in PEQ Configurator. **Update** I added a script to run and continually check for new EQ processes and apply ProcessorAffinity if not applied. It will automatically close if there are no running EQ processes. Add this to your startup script for set-it-and-forget-it processor affinity. https://github.com/LotsofTimeSlices/Everquest/blob/master/Set-ConstantAffinity.ps1
I've trimmed down the size of PEQConfig a bit and moved the tabs around. I'm also working on a log monitor for EQBCS that watches for 'has left the server' message for bumped toons. This was pretty tricky to get working but I think it'll be very handy once it's all fleshed out. I never really liked the way the current restart missing toons worked. I think this will be a lot cleaner. --> I am looking for any feedback - please let me know. Is there something out there that already reports kicked toons? Doing this in-game with netbots might be a better route (but outside of my comfort zone).
Updated EQSwitch to use '\E3_RoF2\Macros\e3 Macro Inis\RofSaved Groups.ini'. The program needs to be run as admin for it to restore windows that have been minimized. Although it will work if the window is already in the restored position (without being elevated). I spent a lot of time getting this to work but I think I got it. I can say with 54 boxes I find I use it constantly... way more than PEQ Configurator (which I think needs a name change). Lastly, I have purchased Groupy but haven't installed it just yet. It may very well negate the need for EQSwitch altogether. I'll post back if/when I install and try it out.
I'm having an issue getting EQSwitch to work.. Every time I launch the executable (as an Administrator) it instantly crashes. I didn't have an RofSaved Groups.ini file just a Saved Groups.ini file but I copied it and renamed it to RoFSavedGroups.ini (So now I have both .ini files) and EQSwitch still crashes instantly upon launch with an 'EQSwitch has stopped working' error. Below is the details of the error. I am on Windows 7 x64 if that makes any difference. Any help would be greatly appreciated. The friends I play with use it and they say it's an amazing program.
Hi Kaz. Sorry to hear of the bugs and thanks for the kudos. I assume this has never worked for you? I just tested on a Windows 7 box with PowerShell 2 and received the same error. I have locked EQSwitch to PowerShell 5+ because I've never tested it on any OS outside of Windows 10. Download and install PowerShell (Windows Management Framework) 5.1 for Windows 7 SP1: https://www.microsoft.com/en-us/download/details.aspx?id=54616 Alternatively, you can download the full script and run it from the PowerShell ISE but I cannot promise how it will perform on such an old version. https://raw.githubusercontent.com/L...master/EQSwitch/PowerShell_Files/EQSwitch.ps1 If you still have problems please send me a private message or hit me up on Discord.
Hi Aliboo, Installing PowerShell (Windows Management Framework) 5.1 for Windows 7 SP1 worked perfectly! Thank you so much for the solution, the prompt response and of course the awesome program!