Hey guys, I'm a seasoned minecraft player and I've been messing around a lot with servers, and up till now, I've been hosting 2 or 3 different minecraft servers on the same computer, just on different ports. I have successfully set up port forwarding so that my friends can access all three servers simultaneously, but my friends and I have decided we want to get rid of the different ports, because it confuses people and often leads people to connect to the :25565 server when we first give them the IP. We would like to have a different IP address for each server, so the need to specify the port number at the end of the IP would be eliminated. I've been doing a lot of research lately and from what I can see, there are multiple ways of doing this.
1. Have multiple IP addresses pointing to the same router, (renting multiple IPs from my ISP), and have the router forward the data from each different external IP address with the same port to the same internal IP address through different ports, and then run different minecraft servers off different ports of the same machine.
For example, with this kind of a configuration, the router would forward data from xxx.xxx.xxx.160:25565 (external) to 192.168.1.2:25565 (internal), data from xxx.xxx.xxx.161:25565 (external) to 192.168.1.2:25566 (internal) and xxx.xxx.xxx.162:25565 (external) to 192.168.1.2:25567 (internal)
2. Have multiple external IP addresses pointing to the same router, and give the internal computer multiple internal IP addresses (is multiple IPs on one NIC possible or do I need multiple NICs?) and either forward the data from an external minecraft port on each IP address to the corresponding minecraft port on each internal IP address *OR* set up DMZ for each external IP and their corresponding internal IPs.
For example, the router would forward data from xxx.xxx.xxx.160:25565 to 192.168.1.2:25565, data from xxx.xxx.xxx.161:25565 to 192.168.1.3:25565, and data from xxx.xxx.xxx.162:25565 to 192.168.1.4:25565, *OR* the router would forward all data from xxx.xxx.xxx.160 to 192.168.1.2, all data from xxx.xxx.xxx.161 to 192.168.1.3, and all data from xxx.xxx.xxx.162 to 192.168.1.4.
*All three IP addresses point to the same physical computer, which needs to somehow accept data from all three IPs simultaneously*
Note: my router is a fairly high-end consumer router and yes, it does support dd-wrt if that's what I need to do.
Note: I am running 3 copies of McMyAdmin Pro 2
Regardless of the method, my ultimate goal is this: to run 3 or more minecraft servers on my home desktop machine, and have all of them accessible simultaneously through 3 different addresses in the "Sever IP" field when connecting: www.server1.com, www.server2.com, www.server3.com.
Anyways, here are my questions.
I. Is there anything I'm wrong in or that I've misunderstood?
II. Which method is more plausible? Which one makes more sense? Which one is easier to implement and does what I want?
III. Is there another more plausible method for me to achieve the same end-result than the two listed?
IV. I've noticed there's a field in server.properties called server-ip=, what is this field and what is it used for? Is this what I would use if I were to go through the multi-internal IP approach? And if so, how would I use it? (It makes sense to me that I would put down the internal IP I would want each server to listen for connections on, but that's just a guess and I'm not sure.
Thanks in advance.
Sorry for over-explaining, I typed this in a rush and it's probably really redundant.
I've probably left some things out too, I'd be happy to answer any questions.