Valorin
09-11-2007, 06:25 PM
This is an attempt to summarize multiboxing on a Mac. Right now much of this is untested by me and I am merely compiling and recording what can be found in many different places on these forums. I intend to give credit where credit is due and if I forget someone, please let me know and I’ll correct it immediately. Also, this is a work-in-progress for the most part, so hopefully I’ll be updating it as I learn what’s what.
First and foremost this summary only adds to the wiki already created by Xzin. I’m just trying to answer many of the normal questions a mac user may have. Also, as per everything on www.Dual-Boxing.com, I’m following Xzin’s format on this wiki as well.
First, you should start with Xzin’s excellent wiki and it outlines the general approach of 5-boxing. Since his is a mostly hardware solution, a majority of it is still applicable to mac users. At least, it’s worth knowing what the PC guys are talking about so that you can sift through the mounds of information beginning to collect at forums. Here’s Xzin’s wiki:
http://www.dual-boxing.com/forums2/viewtopic.php?t=410
Now, a discussion aimed at mac users. First, let’s start with hardware. “What macs can I use to multibox?” I’ll start with which macs I currently own and what I’ve personally tested on them.
Edit: I’ve also included some “how-to’s” at the end of the summary.
Computers
I run my main on a G5 Dual Processor (not dual core) 2.5Ghz, 512kb L2 Cache, 1.25ghz bus, 3gb RAM running OSX 10.3.9 with a 128mb ATI Radeon video card (I forget which). WoW runs great on this machine, getting 40 – 50 fps with settings turned up with one monitor (I use a big widescreen LDC TV). I added another monitor and saw my fps drop. Using the other monitor at lowest settings (just to see the web and whatnot), I get about 20 fps. It doesn’t run 3 clients great, but it’s manageable for low-level pve (about 15-20 fps on the main client). It actually seems to work better if I don’t split clients between monitors and if I must have the extra monitor I keep just the web on it. But I have a widescreen so I can put two clients side-by-side easily on it, three gets jumbled. I actually intend to upgrade the video card in this (I’ve already upgraded the RAM) once OSX 10.5 comes out this fall. I’ll update as I learn the effects.
I also have an iMac Intel Duo Core 2Ghz, 2gb L2 Cache, 667mhz bus, 1.5gb RAM running OSX 10.4.8 also with a 128mb ATI Radeon but supports a higher resolution than my PowerPC, so newer. This is in fact a better machine than my own for WoW, getting 80 fps while AoE grinding 20+ mobs at once in a full party in places like RFC, WC and Deadmines (I actually hit 120 fps in WC last night). I’ve not yet tried multiple clients on this, but I imagine it will do better than my PowerPC.
I also have a cheap 13” Macbook that I’ve tried WoW on. It’s an Intel Duo Core 2.16Ghz, 4mb L2 Cache, 667 mhz bus, 1gb RAM running OSX 10.4.10 with one of those Intel GMA 950 64mb integrated video cards. With the settings turned up the way I like them I only get 8-10 fps and some lags. With settings turned all the way down I get 15 – 20 fps which is playable, but I wouldn’t want to pvp with that.
So these are the boxes that I’ve personally tested. The big question is always:
Mac-Mini
The Mac-mini compares almost stat for stat with my macbook and so judging by that, I would have to say that, no, a rack of these will not be sufficient for high end multiboxing. It would probably be playable, but most of the guys on the forums are going for as much system as they can manage. As much as I hate to admit it, if you’re going to spend $600 on a box with no monitor, you could just get a Wintel for the same with much better graphics.
Macbook Pro
It surprises many windoze users to find out that the Macbook Pro IS designed to be a graphics laptop. The idea is to edit real-time streamed video over firewire on the fly in the field. These things cost, but they’re pretty awesome too. I’ll quote Vultuk..
“Just a couple of screen shots of me running 5 accounts on 2 screens on my macbook Pro.” …
http://www.bloodlineguild.info/shadet/mb1.png
http://www.bloodlineguild.info/shadet/mb2.png
“When running i'm around 42 FPS. When Casting with all 5 I drop to 36 FPS approx..
That's playing with all windows on one screen (not with external monitor right now)”
“Well my macbook is 2.33 ghz core 2 duo. 3gig ram. 128mb dedicated graphics card”
“I'm running the Healer on an old mac mini, only using an external Number pad to activate macros. The other 4 characters are controlled on my macbook. Mage's in the background and Tank maximised to fill the screen. With that setup i'm seeing around 50 FPS around goldshire etc and around 23 FPS in Stormwind Auction house.
I need to get a seperate machine just for the DPS I think, that would be my ideal goal.”
So there are a few cents from someone currently multiboxing on a Macbook Pro.
So if you already have one, it looks playable. Of course, few here think that laptops are really very ideal by the very nature that something has to be sacrificed for that size, and multiboxers on the whole don’t want to sacrifice anything that they don’t have to.
Still to come: multiboxing on one iMac, multiple macs.
Controls
For hardware, most of what there is to say is already covered in detail by the hardware parts of the main wiki or other forum posts. The one caveat to that is USB vs. PS/2. Xzin’s original layout makes heavy use of PS/2. Despite all of the choices for hardware out there, the Vetra Multicaster for simultaneously sending one keyboard to many boxes is a PS/2 only device for the moment, and no viable alternatives have been reported. Many are experimenting with wireless input with one device set to the same channel for all of the receivers, but so far we’ve not heard great successes here. I was wondering myself about Bluetooth which is becoming a standard in macs, but based on others’ experiences with wireless I don’t have any plans to test this soon. Many have found some USB to PS/2 converters cheap and that’s posted here in the forums:
http://www.dual-boxing.com/forums2/viewtopic.php?t=426 .
So since macs are so USB-centric, it’s important to realize that you will lose a lot of the USB functionality, such as Nostromos, Logitech G15, etc. when making this translation.
Another important note is that there are some very strong rumors of a Vetra USB. However, every time we hear of a “at least 2-3 weeks” that passes and the same is said again. Not to criticize the Vetra guys – if it takes that long to make it work, then that’s what it takes. Many are just happy knowing its in the works. But there seem to be issues, especially with the G15, so it may still not be a wonder machine. The G15 is probably a non-issue for mac users, as we can’t use ANY of the functionality of this keyboard. I use it personally and only because it has the most pleasing backlit keyboard to use in the dark of any of those that I’ve seen. Backlighting is the only feature I use.
As far as I know, a mac hardware solution using one client per machine should be no different in the long run to the windows machines. It’s just probably going to cost you four times as more. As much as I LOVE macs and HATE windows, money forced me into using four windows machines as followers. I still intend to test out several different configurations for both my own interest and to help answer any mac questions out there.
XKeys
Mons has been having some problems with Xkeys and multiboxing many clients on a single box. Apparently the app that comes with Xkeys to configure it, iKey2, rewrites scripts or in some way makes it impossible to send keystrokes to multiple clients using a scripter like Butler (Mons has not mentioned Global Hotkey, but I understand it works on exactly the same principles). Xkeys set up to broadcast to multiple boxes using a hardware broadcaster should still be ok.
Software
This is real issue, obviously. We mac users all know how much is written for Mac OS and that goes doubly for homemade apps. So first, here’s a list of what DOESN’T work:
AutoHotKey
Multibox
WoW Maximizer
These are for windows only, as far as I know.
MAC SYNERGY!
Thanks to rjenkins8142, there is now a mac compatible version of Synergy. The version that you get from the synergy people does not have key broadcasting. The version at the front of the synergy forum post that’s been modified for keybroadcasting is windows only. Go here for the mac version of keybroadcasting synergy:
http://mendax.org/?p=577
Thanks to WyldKard for hosting that for us.
Synergy is an excellent piece of software for the hardware multiboxer. I’ll quote Ellay from this post:
http://www.dual-boxing.com/forums2/viewtopic.php?t=15&postdays=0&postorder=asc&start=0
“Synergy, an open source software application that allows you to control multiple PC's through TCP/IP (your network).
http://synergy2.sourceforge.net/
http://www.dual-boxing.com/SynergyWBroad.zip (includes Broadcasting of Keystrokes, tested and approved)
I personally use this application and love its functionality. Allows you to seamlessly transition from 1 PC to another simply by moving your mouse to that screen or through the use of hotkeys. Once you've moved over to another PC your keyboard and mouse have complete functionality.
Each PC does require it's own monitor, it just enables you to control all with 1 keyboard and mouse. Setup time does take a bit, but is well worth the time spent.
Learning Curve – Medium”
This is something that I have personally tested using all three of my macs. It was pretty easy to setup when I followed the directions in the doc folder (and let me point out that I am definitely NOT a coder, as many of us mac users tend not to be). The key broadcasting worked great, activated by hitting the ~ key. One odd thing I did notice is that it only broadcasted the straight keyboard, not the numberpad. I didn’t care – it was completely smooth, wonderful transitions between computers letting you broadcast and control individually all in one solution.
Other Mac Options:
Key Casting to Multiple Clients on One Machine
Vultuk let us in on this solution he has for key broadcasting to multiple clients being run on the same machine. It’s called Global Hotkey.
http://www.dual-boxing.com/forums2/viewtopic.php?t=1039&highlight=global+hotkey
My own experience was that I couldn’t get it to work. I don’t know what I’m doing wrong, but I found another program called Butler that essentially does the same thing. The problem with Butler is that it has tons of features so if all you want is just the key casting, it’s overkill. Nevertheless, it casts keys like a charm. Well, almost. This method of pushing applescripts to apps is inherently flawed. Vultuk complains of flickering windows and bringing them out of “hidden” mode. I understand exactly what he means because my windows do not all fit on my screen so they’ll flicker in front of each other, even though I want some followers in the back.
Let me point out that Vultuk’s code works perfectly. I was even able to modify it without any real knowledge of applescripting for 3-boxing. Here’s my code, which you can see I stole straight from Vultuk.
tell application "System Events"
tell application "World of Warcraft 1" to activate
key code 18
tell application "World of Warcraft 2" to activate
key code 18
tell application "World of Warcraft 3" to activate
key code 18
end tell
The only thing missing is that I wouldn’t mind a final bit of script to put WoW1 back as the front window when it’s done. This script will cause all of the windows to flicker in order causing some latency between the keystrokes and getting you off your main. I fixed that last problem easily by logging onto my main as WoW3, which is always last, but if you want your main to “attack first” like a tank, then with the latency it won’t happen, he’ll go last.
Edit: in this thread, Vultuk gives an excellent suggestion to get WoW1 back in front. Add the line
tell application “WoW1” to activate
at the end before the “end tell”. I didn’t mind the flickering, and it seemed pretty fast to me and now this fixes my only objection to the “rigged” keybroadcasting.
Another observation about “key code 18”: apparently not all keyboards are made equal so I used a little app I found on a google search called “Full Key Codes 1.1” that will allow you to hit a key and see what it’s numerical key code is. This is important because it turns out my #1 was not the same key code as Vultuk’s. Mine #1 is keycode 18, and Vultuk’s is keycode 23.
Finally, Picticon mentions another application that is like a mac version of synergy, but this is meant to control multiple computers, not multiple clients and does not have key broadcasting. Now that we have synergy, I would use that.
Also, Mons gives a link, in this thread, to a mac version of synergy with a GUI to help you configure it. I’ve not tested it, (because I believe that once I get what I want working, it’s an affront to the fates to go messing with it – and they DO take offense) but it seems to just be the same synergy that’s on the original website which means that there’s no keybroadcasting included. If someone has tried this version and it does broadcast keys, please let us know. I would describe my own computer expertise as “marginal at best” when compared to the geniuses on this site, and so I know I could benefit from a GUI.
Here are the links to the various pieces software mentioned above:
Global Hotkey:
http://www.monkeybreadsoftware.de/Freeware/GlobalHotkey.shtml
Butler:
http://www.manytricks.com/butler/
Full Key Codes
http://softwares.bajram.com/utilities/#Full_Key_Codes
Basically the end result that there’s no software for multiple clients on one machine that’s as smooth as AutoHotKey. Let me point out though that many forum crawlers have wondered how long AutoHotKey will last. Used the way we do, it isn’t as suspicious a use of software as say a bot, but it has greater functionality, as I understand it, that may give it a cloud of disrespectability in the future.
Finally, it must be said…
BootCamp
With modern macs you now have the ability to run Windows natively on your mac. As I understand it, early reports of BootCamp actually saw an increase in performance of WoW over the native counterpart. I’m not sure that’s still true but it does solve many of the software problems of the mac. Doesn’t really address any of the hardware problems and, of course, it introduces one really big new problem: you’ll have run windows. If you’re a mac person, you know what I mean. I haven’t tested it myself yet, but my iMac could boot into windows (my G5 cannot), but at 80 fps.. why? Anyway, for the sake of science, I’ll sacrifice my own sensibilities and test it out soon.
And that’s that.
Also, thanks to Morganti for drowning me in OS slurs, taunts, and humiliations while practically FORCING me to go buy some windoze clones. Oh, and he also helped me track down most of the answers to these questions and raise them on the forums in my absence.
New Section: How-To
This is by no means meant to be a masterful tutorial on the inner workings of the software mentioned above. It is merely what I did to get mine to work. A lot of my techniques are either “borrowed” or directly given to me by the many mac users that I have already mentioned a dozen times each above.
Butler
Since I’m the one who dredged this one up, it’s only fair to explain where exactly, among the thousands of features, the scripter is. When you start up Butler the first time you should get the main window with a top tab “Configuration”. It already has a few bells encoded. To add a hotkey script, look for a + menu (typical for “add” in Mac GUI) at the bottom left corner. Choose Smart Item -> Applescripts -> Applescript. The Applescript item comes up on the far right. I started with the “Source Code” tab. Here, you type the code for the applescript, like I gave above.
tell application "System Events"
tell application "World of Warcraft 1" to activate
key code 18
tell application "World of Warcraft 2" to activate
key code 18
tell application "World of Warcraft 3" to activate
key code 18
tell application "World of Warcraft 1" to activate
end tell
Then, on the right hand side next to “Source Code” you will see another tab called “Triggers”. Here you can set a hotkey for your script. I typically used F1 for #1. You will have to do one applescript for each hotkey. Thus, I have a pretty bare-bones setup. (about 24 hotkeys to broadcast). Once you’re done, Butler runs silently in the background and you can call it up again using an icon at the top of your desktop near the clock.
Synergy
This is a how-to get a synergy server running on a mac. Currently all of my clients are Wintels (I know, it leaves a bad taste in my mouth just to say it, but they’re cheap), so I don’t have any more knowledge than the documentation that comes with synergy on how to set up a client on the mac. The documentation for Synergy is actually quite extensive and was useful to me to get everything setup. If I don’t have to go to the boards for help, it should be considered “easy”. That said, I did have some problems and I happen to have enough networking knowledge to figure out a work around. Also, I figured out later that much of it was “user error”, as I hadn’t considered how synergy would treat my second monitor. The only thing that I haven’t figured out how to do yet is have Synergy start automatically on my mac. I don’t really want it to, so, so far it hasn’t been an issue. If someone would like to instruct me as to how to get a server or client to start automatically, I’d be happy to include it. The instructions seemed more difficult than setup and running, so I just didn’t get into it since I didn’t want it.
Setup: you need to create a configuration file. There is a sample file provided for you in the folder of Synergy, so just open it with text editor and adjust it to your needs. I’ll give my 1 server (mac) and 3 client (wintels) setup file:
(Filename: synergy.conf)
# sample synergy configuration file
section: screens
10.0.1.3:
slave1:
slave2:
slave3:
end
section: links
10.0.1.3:
left = slave2
right = slave1
slave1:
left = 10.0.1.3
slave2:
up = slave3
right = 10.0.1.3
slave3:
down = slave2
end
section: aliases
10.0.1.3:
Master
end
(end file)
This creates a configuration with three monitors in a row, server (mac) in the center, two clients on either side and one more client above the monitor on the left. I’ve never actually used the alias, so I’m not sure what that’s for. This is a very light configuration that allows me to KVM between computers simply by moving my mouse between screens and it broadcasts keystrokes.
Now, if you have all macs, you simply use the computer’s hostname for each of the “screens” and then refer to those same names in the links section. You can find your hostname by opening up the Terminal (in the Utilities folder) and typing “hostname” (enter). You’ll need to do this on each computer. To find the hostnames for the Windows synergy, the GUI makes it quite easy. Hit the “Advanced…” button and there’s an option to change the hostname. My default hostname came up in the field, so that’s all I needed to know to make my config file.
The problem with having Windows clients connecting to a Mac server is that while we can see the local network and the windows machines on our Macs, the Windows machines, of course, have no idea that there’s a mac out there. So, my work around was to use the IP address for the server’s name – as you can see from my config file. I don’t have a fixed IP for my mac, I just always turn the server on first and so I always get the next available IP, which is 3, and so, so far it hasn’t been a problem.
Now you start up the server by doing the following:
Open the Terminal app and drag the “synergys” app to the terminal window. This will just copy the path and filename into Terminal. If you already know the path and filename, you could just call it by typing it in. As it says in the documentation, “don’t press enter”. Instead, type:
-f --config
and then drag the “synergy.conf” file to the Terminal. Now, if you’re running all macs, that’s it. However, if you have Windows clients connecting and you’ve used a screenname that’s different from your hostname (or perhaps you changed it for other reasons), you’ll need a slightly different command to change the screenname of the server.
Before hitting enter, also type:
--name 10.0.1.3
Which uses this server name instead of the default hostname.
Since I don’t autostart and I have to do this every time, I simply copied the entire text and I just copy/paste the entire line into Terminal each time I want to start (from a text file). My command line is:
/Users/Valorin/Applications/synergymac-1.3.1/synergys -f --name 10.0.1.3 --config /Users/Valorin/ Applications /synergymac-1.3.1/synergy.conf
Note that the –f argument is not strictly necessary, but I use it every time so that I can see what’s going on when things mess up. It shows the output in a console window. Without that argument, synergy will run silently in the background. Maybe when I’ve had a few months of uninterrupted bliss, I’ll finally do away with the -f.
When you start up the clients, you’ll see them connecting in the console window and you’ll also see when you mouse from one monitor to another, so you’ll know it’s working. If you see it “trying” but the cursor isn’t moving over, look again at your config file and make sure you have your “left/right/up/down” directions correct. It took me a couple of tries to get it straight. Also, a word of warning about an extra monitor: if you have two monitors set “side-by-side” in the Mac OS, then synergy treats them as one big monitor. I found it easier to put my second monitor “above” the main server monitor and I still get funny cursor action there occasionally, but it’s no big deal.
I’ll add more How-to’s as they come in.
Thanks again to Morganti for listening patiently to a continuous stream of curses and profanity about Windows-to-Mac networking, Windows OS and MicroSatan in general (because Mac-to-Windows networking is so easy a Howler Monkey could do it) and then not saying A WORD when I found out it was “user error”. If you know Morganti, you know how hard that must have been.
First and foremost this summary only adds to the wiki already created by Xzin. I’m just trying to answer many of the normal questions a mac user may have. Also, as per everything on www.Dual-Boxing.com, I’m following Xzin’s format on this wiki as well.
First, you should start with Xzin’s excellent wiki and it outlines the general approach of 5-boxing. Since his is a mostly hardware solution, a majority of it is still applicable to mac users. At least, it’s worth knowing what the PC guys are talking about so that you can sift through the mounds of information beginning to collect at forums. Here’s Xzin’s wiki:
http://www.dual-boxing.com/forums2/viewtopic.php?t=410
Now, a discussion aimed at mac users. First, let’s start with hardware. “What macs can I use to multibox?” I’ll start with which macs I currently own and what I’ve personally tested on them.
Edit: I’ve also included some “how-to’s” at the end of the summary.
Computers
I run my main on a G5 Dual Processor (not dual core) 2.5Ghz, 512kb L2 Cache, 1.25ghz bus, 3gb RAM running OSX 10.3.9 with a 128mb ATI Radeon video card (I forget which). WoW runs great on this machine, getting 40 – 50 fps with settings turned up with one monitor (I use a big widescreen LDC TV). I added another monitor and saw my fps drop. Using the other monitor at lowest settings (just to see the web and whatnot), I get about 20 fps. It doesn’t run 3 clients great, but it’s manageable for low-level pve (about 15-20 fps on the main client). It actually seems to work better if I don’t split clients between monitors and if I must have the extra monitor I keep just the web on it. But I have a widescreen so I can put two clients side-by-side easily on it, three gets jumbled. I actually intend to upgrade the video card in this (I’ve already upgraded the RAM) once OSX 10.5 comes out this fall. I’ll update as I learn the effects.
I also have an iMac Intel Duo Core 2Ghz, 2gb L2 Cache, 667mhz bus, 1.5gb RAM running OSX 10.4.8 also with a 128mb ATI Radeon but supports a higher resolution than my PowerPC, so newer. This is in fact a better machine than my own for WoW, getting 80 fps while AoE grinding 20+ mobs at once in a full party in places like RFC, WC and Deadmines (I actually hit 120 fps in WC last night). I’ve not yet tried multiple clients on this, but I imagine it will do better than my PowerPC.
I also have a cheap 13” Macbook that I’ve tried WoW on. It’s an Intel Duo Core 2.16Ghz, 4mb L2 Cache, 667 mhz bus, 1gb RAM running OSX 10.4.10 with one of those Intel GMA 950 64mb integrated video cards. With the settings turned up the way I like them I only get 8-10 fps and some lags. With settings turned all the way down I get 15 – 20 fps which is playable, but I wouldn’t want to pvp with that.
So these are the boxes that I’ve personally tested. The big question is always:
Mac-Mini
The Mac-mini compares almost stat for stat with my macbook and so judging by that, I would have to say that, no, a rack of these will not be sufficient for high end multiboxing. It would probably be playable, but most of the guys on the forums are going for as much system as they can manage. As much as I hate to admit it, if you’re going to spend $600 on a box with no monitor, you could just get a Wintel for the same with much better graphics.
Macbook Pro
It surprises many windoze users to find out that the Macbook Pro IS designed to be a graphics laptop. The idea is to edit real-time streamed video over firewire on the fly in the field. These things cost, but they’re pretty awesome too. I’ll quote Vultuk..
“Just a couple of screen shots of me running 5 accounts on 2 screens on my macbook Pro.” …
http://www.bloodlineguild.info/shadet/mb1.png
http://www.bloodlineguild.info/shadet/mb2.png
“When running i'm around 42 FPS. When Casting with all 5 I drop to 36 FPS approx..
That's playing with all windows on one screen (not with external monitor right now)”
“Well my macbook is 2.33 ghz core 2 duo. 3gig ram. 128mb dedicated graphics card”
“I'm running the Healer on an old mac mini, only using an external Number pad to activate macros. The other 4 characters are controlled on my macbook. Mage's in the background and Tank maximised to fill the screen. With that setup i'm seeing around 50 FPS around goldshire etc and around 23 FPS in Stormwind Auction house.
I need to get a seperate machine just for the DPS I think, that would be my ideal goal.”
So there are a few cents from someone currently multiboxing on a Macbook Pro.
So if you already have one, it looks playable. Of course, few here think that laptops are really very ideal by the very nature that something has to be sacrificed for that size, and multiboxers on the whole don’t want to sacrifice anything that they don’t have to.
Still to come: multiboxing on one iMac, multiple macs.
Controls
For hardware, most of what there is to say is already covered in detail by the hardware parts of the main wiki or other forum posts. The one caveat to that is USB vs. PS/2. Xzin’s original layout makes heavy use of PS/2. Despite all of the choices for hardware out there, the Vetra Multicaster for simultaneously sending one keyboard to many boxes is a PS/2 only device for the moment, and no viable alternatives have been reported. Many are experimenting with wireless input with one device set to the same channel for all of the receivers, but so far we’ve not heard great successes here. I was wondering myself about Bluetooth which is becoming a standard in macs, but based on others’ experiences with wireless I don’t have any plans to test this soon. Many have found some USB to PS/2 converters cheap and that’s posted here in the forums:
http://www.dual-boxing.com/forums2/viewtopic.php?t=426 .
So since macs are so USB-centric, it’s important to realize that you will lose a lot of the USB functionality, such as Nostromos, Logitech G15, etc. when making this translation.
Another important note is that there are some very strong rumors of a Vetra USB. However, every time we hear of a “at least 2-3 weeks” that passes and the same is said again. Not to criticize the Vetra guys – if it takes that long to make it work, then that’s what it takes. Many are just happy knowing its in the works. But there seem to be issues, especially with the G15, so it may still not be a wonder machine. The G15 is probably a non-issue for mac users, as we can’t use ANY of the functionality of this keyboard. I use it personally and only because it has the most pleasing backlit keyboard to use in the dark of any of those that I’ve seen. Backlighting is the only feature I use.
As far as I know, a mac hardware solution using one client per machine should be no different in the long run to the windows machines. It’s just probably going to cost you four times as more. As much as I LOVE macs and HATE windows, money forced me into using four windows machines as followers. I still intend to test out several different configurations for both my own interest and to help answer any mac questions out there.
XKeys
Mons has been having some problems with Xkeys and multiboxing many clients on a single box. Apparently the app that comes with Xkeys to configure it, iKey2, rewrites scripts or in some way makes it impossible to send keystrokes to multiple clients using a scripter like Butler (Mons has not mentioned Global Hotkey, but I understand it works on exactly the same principles). Xkeys set up to broadcast to multiple boxes using a hardware broadcaster should still be ok.
Software
This is real issue, obviously. We mac users all know how much is written for Mac OS and that goes doubly for homemade apps. So first, here’s a list of what DOESN’T work:
AutoHotKey
Multibox
WoW Maximizer
These are for windows only, as far as I know.
MAC SYNERGY!
Thanks to rjenkins8142, there is now a mac compatible version of Synergy. The version that you get from the synergy people does not have key broadcasting. The version at the front of the synergy forum post that’s been modified for keybroadcasting is windows only. Go here for the mac version of keybroadcasting synergy:
http://mendax.org/?p=577
Thanks to WyldKard for hosting that for us.
Synergy is an excellent piece of software for the hardware multiboxer. I’ll quote Ellay from this post:
http://www.dual-boxing.com/forums2/viewtopic.php?t=15&postdays=0&postorder=asc&start=0
“Synergy, an open source software application that allows you to control multiple PC's through TCP/IP (your network).
http://synergy2.sourceforge.net/
http://www.dual-boxing.com/SynergyWBroad.zip (includes Broadcasting of Keystrokes, tested and approved)
I personally use this application and love its functionality. Allows you to seamlessly transition from 1 PC to another simply by moving your mouse to that screen or through the use of hotkeys. Once you've moved over to another PC your keyboard and mouse have complete functionality.
Each PC does require it's own monitor, it just enables you to control all with 1 keyboard and mouse. Setup time does take a bit, but is well worth the time spent.
Learning Curve – Medium”
This is something that I have personally tested using all three of my macs. It was pretty easy to setup when I followed the directions in the doc folder (and let me point out that I am definitely NOT a coder, as many of us mac users tend not to be). The key broadcasting worked great, activated by hitting the ~ key. One odd thing I did notice is that it only broadcasted the straight keyboard, not the numberpad. I didn’t care – it was completely smooth, wonderful transitions between computers letting you broadcast and control individually all in one solution.
Other Mac Options:
Key Casting to Multiple Clients on One Machine
Vultuk let us in on this solution he has for key broadcasting to multiple clients being run on the same machine. It’s called Global Hotkey.
http://www.dual-boxing.com/forums2/viewtopic.php?t=1039&highlight=global+hotkey
My own experience was that I couldn’t get it to work. I don’t know what I’m doing wrong, but I found another program called Butler that essentially does the same thing. The problem with Butler is that it has tons of features so if all you want is just the key casting, it’s overkill. Nevertheless, it casts keys like a charm. Well, almost. This method of pushing applescripts to apps is inherently flawed. Vultuk complains of flickering windows and bringing them out of “hidden” mode. I understand exactly what he means because my windows do not all fit on my screen so they’ll flicker in front of each other, even though I want some followers in the back.
Let me point out that Vultuk’s code works perfectly. I was even able to modify it without any real knowledge of applescripting for 3-boxing. Here’s my code, which you can see I stole straight from Vultuk.
tell application "System Events"
tell application "World of Warcraft 1" to activate
key code 18
tell application "World of Warcraft 2" to activate
key code 18
tell application "World of Warcraft 3" to activate
key code 18
end tell
The only thing missing is that I wouldn’t mind a final bit of script to put WoW1 back as the front window when it’s done. This script will cause all of the windows to flicker in order causing some latency between the keystrokes and getting you off your main. I fixed that last problem easily by logging onto my main as WoW3, which is always last, but if you want your main to “attack first” like a tank, then with the latency it won’t happen, he’ll go last.
Edit: in this thread, Vultuk gives an excellent suggestion to get WoW1 back in front. Add the line
tell application “WoW1” to activate
at the end before the “end tell”. I didn’t mind the flickering, and it seemed pretty fast to me and now this fixes my only objection to the “rigged” keybroadcasting.
Another observation about “key code 18”: apparently not all keyboards are made equal so I used a little app I found on a google search called “Full Key Codes 1.1” that will allow you to hit a key and see what it’s numerical key code is. This is important because it turns out my #1 was not the same key code as Vultuk’s. Mine #1 is keycode 18, and Vultuk’s is keycode 23.
Finally, Picticon mentions another application that is like a mac version of synergy, but this is meant to control multiple computers, not multiple clients and does not have key broadcasting. Now that we have synergy, I would use that.
Also, Mons gives a link, in this thread, to a mac version of synergy with a GUI to help you configure it. I’ve not tested it, (because I believe that once I get what I want working, it’s an affront to the fates to go messing with it – and they DO take offense) but it seems to just be the same synergy that’s on the original website which means that there’s no keybroadcasting included. If someone has tried this version and it does broadcast keys, please let us know. I would describe my own computer expertise as “marginal at best” when compared to the geniuses on this site, and so I know I could benefit from a GUI.
Here are the links to the various pieces software mentioned above:
Global Hotkey:
http://www.monkeybreadsoftware.de/Freeware/GlobalHotkey.shtml
Butler:
http://www.manytricks.com/butler/
Full Key Codes
http://softwares.bajram.com/utilities/#Full_Key_Codes
Basically the end result that there’s no software for multiple clients on one machine that’s as smooth as AutoHotKey. Let me point out though that many forum crawlers have wondered how long AutoHotKey will last. Used the way we do, it isn’t as suspicious a use of software as say a bot, but it has greater functionality, as I understand it, that may give it a cloud of disrespectability in the future.
Finally, it must be said…
BootCamp
With modern macs you now have the ability to run Windows natively on your mac. As I understand it, early reports of BootCamp actually saw an increase in performance of WoW over the native counterpart. I’m not sure that’s still true but it does solve many of the software problems of the mac. Doesn’t really address any of the hardware problems and, of course, it introduces one really big new problem: you’ll have run windows. If you’re a mac person, you know what I mean. I haven’t tested it myself yet, but my iMac could boot into windows (my G5 cannot), but at 80 fps.. why? Anyway, for the sake of science, I’ll sacrifice my own sensibilities and test it out soon.
And that’s that.
Also, thanks to Morganti for drowning me in OS slurs, taunts, and humiliations while practically FORCING me to go buy some windoze clones. Oh, and he also helped me track down most of the answers to these questions and raise them on the forums in my absence.
New Section: How-To
This is by no means meant to be a masterful tutorial on the inner workings of the software mentioned above. It is merely what I did to get mine to work. A lot of my techniques are either “borrowed” or directly given to me by the many mac users that I have already mentioned a dozen times each above.
Butler
Since I’m the one who dredged this one up, it’s only fair to explain where exactly, among the thousands of features, the scripter is. When you start up Butler the first time you should get the main window with a top tab “Configuration”. It already has a few bells encoded. To add a hotkey script, look for a + menu (typical for “add” in Mac GUI) at the bottom left corner. Choose Smart Item -> Applescripts -> Applescript. The Applescript item comes up on the far right. I started with the “Source Code” tab. Here, you type the code for the applescript, like I gave above.
tell application "System Events"
tell application "World of Warcraft 1" to activate
key code 18
tell application "World of Warcraft 2" to activate
key code 18
tell application "World of Warcraft 3" to activate
key code 18
tell application "World of Warcraft 1" to activate
end tell
Then, on the right hand side next to “Source Code” you will see another tab called “Triggers”. Here you can set a hotkey for your script. I typically used F1 for #1. You will have to do one applescript for each hotkey. Thus, I have a pretty bare-bones setup. (about 24 hotkeys to broadcast). Once you’re done, Butler runs silently in the background and you can call it up again using an icon at the top of your desktop near the clock.
Synergy
This is a how-to get a synergy server running on a mac. Currently all of my clients are Wintels (I know, it leaves a bad taste in my mouth just to say it, but they’re cheap), so I don’t have any more knowledge than the documentation that comes with synergy on how to set up a client on the mac. The documentation for Synergy is actually quite extensive and was useful to me to get everything setup. If I don’t have to go to the boards for help, it should be considered “easy”. That said, I did have some problems and I happen to have enough networking knowledge to figure out a work around. Also, I figured out later that much of it was “user error”, as I hadn’t considered how synergy would treat my second monitor. The only thing that I haven’t figured out how to do yet is have Synergy start automatically on my mac. I don’t really want it to, so, so far it hasn’t been an issue. If someone would like to instruct me as to how to get a server or client to start automatically, I’d be happy to include it. The instructions seemed more difficult than setup and running, so I just didn’t get into it since I didn’t want it.
Setup: you need to create a configuration file. There is a sample file provided for you in the folder of Synergy, so just open it with text editor and adjust it to your needs. I’ll give my 1 server (mac) and 3 client (wintels) setup file:
(Filename: synergy.conf)
# sample synergy configuration file
section: screens
10.0.1.3:
slave1:
slave2:
slave3:
end
section: links
10.0.1.3:
left = slave2
right = slave1
slave1:
left = 10.0.1.3
slave2:
up = slave3
right = 10.0.1.3
slave3:
down = slave2
end
section: aliases
10.0.1.3:
Master
end
(end file)
This creates a configuration with three monitors in a row, server (mac) in the center, two clients on either side and one more client above the monitor on the left. I’ve never actually used the alias, so I’m not sure what that’s for. This is a very light configuration that allows me to KVM between computers simply by moving my mouse between screens and it broadcasts keystrokes.
Now, if you have all macs, you simply use the computer’s hostname for each of the “screens” and then refer to those same names in the links section. You can find your hostname by opening up the Terminal (in the Utilities folder) and typing “hostname” (enter). You’ll need to do this on each computer. To find the hostnames for the Windows synergy, the GUI makes it quite easy. Hit the “Advanced…” button and there’s an option to change the hostname. My default hostname came up in the field, so that’s all I needed to know to make my config file.
The problem with having Windows clients connecting to a Mac server is that while we can see the local network and the windows machines on our Macs, the Windows machines, of course, have no idea that there’s a mac out there. So, my work around was to use the IP address for the server’s name – as you can see from my config file. I don’t have a fixed IP for my mac, I just always turn the server on first and so I always get the next available IP, which is 3, and so, so far it hasn’t been a problem.
Now you start up the server by doing the following:
Open the Terminal app and drag the “synergys” app to the terminal window. This will just copy the path and filename into Terminal. If you already know the path and filename, you could just call it by typing it in. As it says in the documentation, “don’t press enter”. Instead, type:
-f --config
and then drag the “synergy.conf” file to the Terminal. Now, if you’re running all macs, that’s it. However, if you have Windows clients connecting and you’ve used a screenname that’s different from your hostname (or perhaps you changed it for other reasons), you’ll need a slightly different command to change the screenname of the server.
Before hitting enter, also type:
--name 10.0.1.3
Which uses this server name instead of the default hostname.
Since I don’t autostart and I have to do this every time, I simply copied the entire text and I just copy/paste the entire line into Terminal each time I want to start (from a text file). My command line is:
/Users/Valorin/Applications/synergymac-1.3.1/synergys -f --name 10.0.1.3 --config /Users/Valorin/ Applications /synergymac-1.3.1/synergy.conf
Note that the –f argument is not strictly necessary, but I use it every time so that I can see what’s going on when things mess up. It shows the output in a console window. Without that argument, synergy will run silently in the background. Maybe when I’ve had a few months of uninterrupted bliss, I’ll finally do away with the -f.
When you start up the clients, you’ll see them connecting in the console window and you’ll also see when you mouse from one monitor to another, so you’ll know it’s working. If you see it “trying” but the cursor isn’t moving over, look again at your config file and make sure you have your “left/right/up/down” directions correct. It took me a couple of tries to get it straight. Also, a word of warning about an extra monitor: if you have two monitors set “side-by-side” in the Mac OS, then synergy treats them as one big monitor. I found it easier to put my second monitor “above” the main server monitor and I still get funny cursor action there occasionally, but it’s no big deal.
I’ll add more How-to’s as they come in.
Thanks again to Morganti for listening patiently to a continuous stream of curses and profanity about Windows-to-Mac networking, Windows OS and MicroSatan in general (because Mac-to-Windows networking is so easy a Howler Monkey could do it) and then not saying A WORD when I found out it was “user error”. If you know Morganti, you know how hard that must have been.