Nicotine

2025-11-15

https://www.nicotine.rip

For the last few years, I've gone really hard into multiboxing in Eve Online. I, like the majority of Eve players, have traditionally played Eve on Windows as it has native support and a litany of third party tools which don't have Linux support. One of these is EVE-O Preview, which has been the very foundation of my multiboxing setup.

To be clear, many people multibox in Eve, this isn't uncommon, but from time to time I'll run 13 accounts in PVP situations. This obviously necessitates a particular kind of workflow to be effective.

My Multiboxing Workflow

When I'm running a large number of accounts, it's typically a Sabre and 12 bombers following closely behind. I keep all of my windows stacked on top of each, pixel perfect, with identical UI configurations. This enables me to cycle through my clients with the side buttons of my Logitech MX Master 3S mouse.

The pattern is "cycle, click, cycle, click" and so on. This enables me to very rapidly issue the same action to each one of my bombers in series without violating CCP's mandate of "one click, one action, one client" which input broadcasting very clearly violates. For clarity, I never have any intention of ever violating the EULA / TOS, so don't ban me CCP. I'm just crazy for optimization.

The Current State of Windows

I've always been highly critical of Microsoft and all of their products, but being intellectually honest and giving credit where it's due is very important to me. For a while, it looked like Microsoft was making all the right decisions:

  • They created VS Code, though I'm an avid Vim user
  • They open-sourced the .NET framework
  • They acquired Github and didn't turn it into something terrible, though I have my own complaints about Github which existed prior to the acquisition

This signaled that Microsoft was headed in the right direction, possibly on some kind of redemption arc.

Enter Windows 11. What do I even really need to say about this garbage heap of an operating system?

I've always had a Linux installation on my primary desktop, and I carry a Linux laptop alongside another Apple laptop (I'm a musician and use a Macbook Pro for professional audio work). I've always loved Linux, but the ease of use and stability of running Eve on Windows was too great to justify a full switch to Linux, so I've always rebooted to Windows to play Eve. This presents several problems. Namely, it's irritating to have to stop what I'm doing and reboot just to respond to fleet pings. Nevertheless, I continued using this setup because the biggest limiting factor was the lack of an EVE-O Preview style of application with native Linux support that would allow me to play Eve using my particular workflow.

So picture this. The other day, I'm sitting at my desk, happily multiboxing in Eve Online, when my performance suddenly and dramatically degrades. My framerate dropped to the floor and everything on my machine became unreasonably sluggish. Almost as a reflex, I rebooted my machine, and on login, I was FORCED to sign into my computer by creating a Microsoft Live account.

Put on your matching tinfoil hat with me for a second.

I wholly believe this was a synthetic performance degradation to goad me into rebooting my machine so Microsoft could force me into adopting their Live account bullshit. I don't have empirical proof to back this up, and I don't care. It sound right in the pocket with the other psychopathic garbage they've foisted on Windows users over the last year or two.

This was my breaking point.

We don't have to live like this. I don't have to live like this. This was my signal that it was time to Cortez "burn the ships" and ditch Windows forever. This obviously necessitated the creation of some kind of solution which would afford me the ability to multibox in Eve Online the way I wanted to.

Early Solutions

I tried a litany of strategies to recreate kind of behavior EVE-O Preview provided with my configuration. My first attempt was a custom i3 plugin, but that ended up being slow and unreliable for whatever reason. I quickly abandoned that and built a bash script to handle the job, but that was also exceptionally sluggish.

My requirements were very clear. I needed a client cycler that had single-digit millisecond latency in switching, and when a client comes to the front of the stack, it needs to be immediately interactable.

Enter Nicotine

I set out to use Rust, a language I'm quite fond of, to build this exact tool. I utilized a daemon architecture for near-zero-latency client cycling. The result is staggeringly quick. I can, in less than a second, cycle through all 12 of my bomber pilots and open the New Eden store. This is the test case I've been using during its development, because it's the most common thing I do on these accounts. I don't always have the time or energy to fire up a 13-pilot multibox gang, so I end up logging into them regularly to claim free SP rewards.

My pattern is:

  1. Click New Eden Store button
  2. Cycle
  3. Repeat for each client
  4. Click free SP product listing
  5. Cycle
  6. Repeat for each client
  7. Hit ESC to leave the New Eden Store
  8. Cycle until all clients are clear

Likewise for undocking:

  1. U hotkey for Undock
  2. Cycle
  3. Repeat for each client

Both of the above workflows take less than a second to perform for each of their steps. The New Eden Store flow obviously takes a bit longer due to the store needing to load and likewise to process the transaction for the free SP, but I mean to say that I can get the store opening on all 13 clients in less than a second, then click the free SP product on all 13 in less than a second, etc.

It's Available for You to Use Too

The Nicotine project is up on Github and is MIT licensed open source software. I'm going to continue working on it as I've already received a ton of feedback and feature requests since I posted to /r/eve about it the other day:

https://www.reddit.com/r/Eve/comments/1owmqbp/nicotine_a_highperformance_eve_multiboxing_tool/

If you're interested in this project, open a PR or a Github issue, or you can swing by my corporation's Discord server where we have an info channel about new releases and new features as they come out.

Cheers 🫡