Your biggest factor will be the upload speed your server produces, also one thing a lot of people forget to understand is that most ISP service providers share your internet with everyone around you so there will be moments like during the peek times, that your server connection will be crappy unless you have a dedicated server or one from jcsnider. Keep in mind the average player uses anywhere between 1.5-4.5kb of download speed, there is 1,000kp in 1mb. I used to host Minecraft server and each player was using about 1.5-2mb easily. First thing I would suggest is checking your true internet speed with a speed checker, than like Dashplant said remove all unnecessary things from your server and try to overclock your processor if possible, without causing any over heat. If you are new to the world of computers however, easiest thing to do is renting one from jcsnider here.
Also, now days 2gb memory is nothing heck, Windows 7 and Windows 10 alone from the factory box, eat about that much in memory lol. Like Ainz Ooal Gown said, also you should use Solid State Drives (SSD) hard drives, which will help with how fast your computer transfers data back and forth. From my experience and the many years of hosting different games, and using different computers and different operating systems, my favorite by far is Centos 7 which is a Linux based system.