I like to comment on these threads because, well, it's one area I have quite a bit of experience in.
While Minecraft isn't optimized as a multicore program, and neither is the vanilla server it does scale across multiple cores. Most people get confused as far as multicore support is concerned. Minecraft's multicore support is purely symmetrical scaling, it will not lock specific threads to individual cores. MCPC+ (based on Spigot which is based on Bukkit) is reasonably well optimized, and offloads the networking thread to its own core. I wouldn't use the vanilla server if you're aiming for fifty players.
In other words, you will definitely benefit from having multiple cores/multiple processors. Here's an example screenshot I posted on these forums a few months ago:
https://i.imgur.com/iwgKt57.png Since this is an i7 chip, only four of those cores are physical cores. I was surprised at just how well Minecraft, and its server distrbuted its load across multiple cores.
If you're going to be handicapped by anything here it's that ten up line. Vanilla Minecraft uses around 256-650kbps per user. Even if I'm being lenient, and assuming each user will use a max of 256kbps, you're going to need around 128mbps if you intend on sustaining fifty concurrent users. Modded Minecraft is a beast in a league of its own (no pun intended). It's not uncommon for an average server to build up thousands upon thousands of ticking tile entities, these all transmit data to the client twenty times per second every second. I've locked players out of my own private server before by deploying a massive MFFS field around my base. My connection wasn't able to send data to their clients fast enough. When they would view the shield they'd be kicked from the server with a generic socket error message. Simply standing in my own base uses near 2mbps.