Hosting a public game server without exposing my IP, what are my options? reddit / selfhosted ---------------------------------------------------------------------- demerf · 2023-10-06 21:01 I've read a bit into VPS and Reverse proxies but I can't find examples of people accomplishing what I'm trying do, which is essentially using a service that players can connect to so my IP stays hidden. Cloud hosting the server isn't out of the question but is that really my only option? I'm not very experienced in networking so if I left out any important details about my situation, feel free to ask for clarification. ---------------------------------------------------------------------- lesigh · 2023-10-06 21:12 Game servers rely on low latency. Sure, you could setup a site to site VPN, but that'll most likely make your user experience terrible. ---------------------------------------------------------------------- demerf · 2023-10-06 21:18 I don't want to go too far into detail but there's already a routing system built in to obscure the host and it's causing huge bottlenecks for us trying to develop mods. So I believe that any alternative, especially premium one would be better ---------------------------------------------------------------------- ASouthernBoy · 2023-10-06 21:19 buy domain and link it to cloudflare, cloudflare will proxy to your IP . ---------------------------------------------------------------------- demerf · 2023-10-06 21:20 I've read that cloud flare only proxies HTTPS connections which a game server would not use, is this true? ---------------------------------------------------------------------- ASouthernBoy · 2023-10-06 21:28 eh yes it's a paid service for other than http, https ---------------------------------------------------------------------- phillee81 · 2023-10-06 21:32 Cloudfare Tunnels. I'm working on setting this up myself this weekend. Just started yesterday and got sidetracked by real work stuff, but going to try and get it all going for all my dockers this weekend. ---------------------------------------------------------------------- waterbed87 · 2023-10-06 21:34 If someone wants your IP there are plenty of ways to get it. Do you use Discord? There are easy tools to just copy someones ID and pull back their IP. May I ask why you're worried about exposing your IP? Realistically the risk is very small if you take basic hosting security measures on your server such as putting it in a DMZ and only exposing the ports that are absolute requirements. ---------------------------------------------------------------------- demerf · 2023-10-06 21:38 As far as I'm aware the clients would need to use Cloudflare's software to connect so this unfortunately is not an option for us ---------------------------------------------------------------------- demerf · 2023-10-06 21:45 I'm aware of the realistic risks. For the sake of brevity I left quite a bit of details out, the one hosting it isn't very knowledgeable on the topic and doesn't want theirs so publicly available which I can fully understand and because of that I'm trying to find alternatives to help. ---------------------------------------------------------------------- redoverture · 2023-10-06 21:50 It is only obscured by DNS, but if you get a domain like website.io, you can add a DNS record for play.website.io which points to your IP. It’s easily found by a DNS Lookup, but people aren’t directly typing it in so it’s at least slightly obscured. ---------------------------------------------------------------------- Mildly_Excited · 2023-10-06 21:53 If you're trying to avoid DDOSing your best bet is going cloudhosting and using a gaming specific DDOS solution. If you're concerned about your IP leaking, it's pointless, plenty of ways to get that and it's not really identifiable information without having access to ISP records. You can make a educated guess on someones location but that's about it. ---------------------------------------------------------------------- SammyDavidJuniorJr · 2023-10-06 21:53 Tailscale Funnel https://tailscale.com/kb/1223/tailscale-funnel/ ---------------------------------------------------------------------- AuthenticImposter · 2023-10-06 21:59 Why does your IP need to stay hidden? Are you running other services off your internet connection that are open to the world, if only the make a request to the right port? ---------------------------------------------------------------------- AuthenticImposter · 2023-10-06 22:04 Maybe someone else should host it? You said youre open to premium services, you could start with a VPS, and it that doesn't do it, Hetzner has great deals on discount dedicated servers (starting at around $40 a month if I remember)? ---------------------------------------------------------------------- Azsde · 2023-10-06 22:06 I don't think that it is the case, it should be transparent to the end user. ---------------------------------------------------------------------- FalseRegister · 2023-10-06 22:16 No. CF tunnels exposes your service on your own domain. It is visible from anywhere. I am self hosting my first app this way on a RPi4 ---------------------------------------------------------------------- znpy · 2023-10-06 22:19 1. get a vps server as (geographically) close as possible to the location of the ip you want to hide 2. an option that doesn't necessarily rely on VPNs might be haproxy. haproxy alone isn't what i would do, but it could work and in this case you'd essentially only need to learn how to administer one thing (haproxy) besides the base os for the vps. ---------------------------------------------------------------------- roman5588 · 2023-10-06 22:26 Have a minecraft/TS servers behind a wireguard vpn. Players request a cert to join via private forum. Providers firewall often good enough to whitelist local IP ranges or block a single IP before hitting the servers. If server gets DDoS, we spin up a backup vpn server with new IP to fall back on and share new subdomain. Had one large 10gb/s attack and provider nulled the IP making this essential. Game servers and internal traffic not publicly routed so IP getting leaked is not a huge issue. Self hosting game servers is a bad idea. To much BS from DDoS which will saturate your lines or swatting. I’d collocate my server anyday. ---------------------------------------------------------------------- querylab · 2023-10-06 22:34 You can do port forwarding with your local machine and use a VPS as your bridge using a WireGuard VPN I have tested it with AWS VPS, and it works very well https://github.com/mochman/Bypass\_CGNAT so no one will know your IP only the AWS VPS or DigitalOcean, oracle, linode etc. ---------------------------------------------------------------------- sebampueromori · 2023-10-06 22:54 What is your main concern with having your public ip exposed? Because that's your home network? Why not just deploy the game server in a vps or something in the cloud ---------------------------------------------------------------------- boop_xyz · 2023-10-06 23:25 This is against the cloudflare TOS ---------------------------------------------------------------------- BouncyPancake · 2023-10-06 23:45 I have a reverse proxy that's on the east coast (where I live) and the latency maybe adds 7-10ms but for most games, Minecraft, 7 Days, Rust, Terraria, etc, it doesn't affect much. I would recommend setting up a reverse proxy using Nginx. You can just edit the default config file and dump entries in there (or for better practice, create a proper config file) ​ Here's an example: ---------------------------------------------------------------------- therealpocket · 2023-10-06 23:47 [Playit.gg](https://playit.gg/) is a nice free option that takes the guesswork out of setting up a reverse proxy. ---------------------------------------------------------------------- BouncyPancake · 2023-10-06 23:53 If you're talking about more like the server broadcasts to a server browser like how it does for Farming Simulator or 7 Days to Die, I have not a clue how to get that to work. I've tried many different things but always failed. I know it's possible but it's hard also [1.1.1.1](https://1.1.1.1) (the destination IP for connections) is Cloudflares DNS IP, not mine; using it as the example IP. ---------------------------------------------------------------------- monotonousgangmember · 2023-10-07 00:02 Go to no-ip.com and get a free shitty hostname. Download their DUC (Dynamic Update Client) and log in to it and activate the hostname there. Tell your friends to connect using that hostname. Tutorials on youtube ---------------------------------------------------------------------- demerf · 2023-10-07 00:06 Unfortunately this is an instance where we need to broadcast to a server browser, I'll look into this solution though ---------------------------------------------------------------------- BouncyPancake · 2023-10-07 00:18 Okay so you and I are kind of in the same shoes actually. We have servers that need to broadcast to the internet but unfortunately we can't broadcast using another IP address that isn't on the origin network ---------------------------------------------------------------------- Originah · 2023-10-07 00:32 Cloudflare tunnels should knock this on the head for you and are free (ignore the fact it asks for a card I've never had a charge in the time since it started) smash the tunnel agent on your vps define your hostnames and set region restrictions too if you like. All in all it acts perfect as a protected method to expose services and since it acts like a reverse proxy in a sense you don't have to worry about exposed ports and you can host multiple servers. ---------------------------------------------------------------------- Originah · 2023-10-07 00:34 Nah you misunderstand, that is a feature but not a requirement you can simply expose a service through the tunnel and let cloudflare deal with the traffic and exposure. I would however read up on their TOS for any traffic limitations ---------------------------------------------------------------------- demerf · 2023-10-07 00:36 Any suggestions for a vps or cloud service? The server itself is very lightweight and the player base will only be a dozen or two at most. ---------------------------------------------------------------------- Verme · 2023-10-07 00:43 THIS!!!! If you are self hosting, CloudFlare tunnel and a reverse proxy with nginx-proxy-manager. I do this, super easy to setup, just check spaceinvaderone's YouTube channel. ---------------------------------------------------------------------- _3xc41ibur · 2023-10-07 00:43 Linode. $5 a month for the lowest tier. Or Oracle Cloud or AWS free tiers ---------------------------------------------------------------------- etillxd · 2023-10-07 01:08 You can try playing.gg it's super easy to setup and unless you need lot's of tunnels or a custom domain it's basically free. ---------------------------------------------------------------------- bobbarker4444 · 2023-10-07 01:08 AFAIK Cloudflare Tunnels doesn't support UDP taffic which is what most game servers use ---------------------------------------------------------------------- netvip3r · 2023-10-07 01:09 Think u intended to say NOT put in DMZ ---------------------------------------------------------------------- waterbed87 · 2023-10-07 01:11 You're using the cheap router definition of DMZ I think. A proper DMZ is a network with limited in and out not the wide open to everything BS some Asus routers do and I definitely meant in. ---------------------------------------------------------------------- netvip3r · 2023-10-07 01:11 There's no Cloudflare software you need in order to use their tunneling service ---------------------------------------------------------------------- bobbarker4444 · 2023-10-07 01:19 >There are easy tools to just copy someones ID and pull back their IP. You can send them a link to a website that logs their IP or something but simply knowing their ID is not enough to get their IP ---------------------------------------------------------------------- apixoip · 2023-10-07 01:19 You can set up a proxy on the VPS extremely easy. Sometimes you can just host the game server directly on the VPS. That's the real way to go. ---------------------------------------------------------------------- NikStalwart · 2023-10-07 01:22 > I've read a bit into VPS and Reverse proxies but I can't find examples of people accomplishing what I'm trying do, which is essentially using a service that players can connect to so my IP stays hidden. The reason you are not able to find examples of people accomplishing this is because what you want to do is impossible. There is no way to 'hide' an IP address completely. At a certain point, a computer needs to connect to *an address* somewhere. If you don't want to expose your home address (there are good reasons: limited bandwidth, obsolete hardware with security holes) there are options: 1. Don't use home network, use a remote server; 2. Use a proxy; or 2. Use a VPN. Using a VPN and a proxy increases latency. Requiring users to connect over VPN has issues too: * You are still exposing your home IP to the clients so they can connect to it; * People might not want (for very good reasons) to install a VPN client to play with you. Using a proxy or hosting on a client server is possible, but you are still exposing an IP address  — that of your proxy or server, respectively. At which point you have to ask the question: why are you even bothering with any of this? What threat model are you trying to mitigate against? All the xbox kids whose dad works at microsoft and will ban you, or that guy who graduated top of his class with 200 confirmed kills and is tracing your IP address? If so, just laugh and tell them that your IP address is 127.99.98.97 and they are welcome to DDoS their little hearts out. ---------------------------------------------------------------------- montdidier · 2023-10-07 01:28 what is your particular concern with exposing your ip? ---------------------------------------------------------------------- ProbablePenguin · 2023-10-07 01:34 DMZ = a separate isolated network on its own VLAN. Not DMZ as in the cheapo home router term 'DMZ' that they like to throw around. ---------------------------------------------------------------------- ProbablePenguin · 2023-10-07 01:34 How would someones discord ID let you get their IP? ---------------------------------------------------------------------- ProbablePenguin · 2023-10-07 01:35 Cloud hosting the server makes the most sense unless it's very resource heavy. ---------------------------------------------------------------------- roboalex2 · 2023-10-07 01:42 If it is minecraft you can use [https://tcpshield.com/](https://tcpshield.com/) it is free for personal level servers. ---------------------------------------------------------------------- netvip3r · 2023-10-07 01:46 You're correct on both counts. My error was not adding a question mark as it was intended as a question. Without the benefit of experience, which tends to be the motivation behind asking here, a lack of clarification could lead the OP to understand the meaning of DMZ as how average/basic home routers implement "DMZ". Resulting in zero security while trusting in forwarded ports. ---------------------------------------------------------------------- SynBombay · 2023-10-07 02:06 Google discord resolver, it's easy. Tested it with my ID and it works ---------------------------------------------------------------------- iC0nk3r · 2023-10-07 02:33 By all means, please go into detail about this "routing system". It sounds quite interesting. ---------------------------------------------------------------------- demerf · 2023-10-07 02:41 not too sure on it myself, in fact, "Routing" might not be the correct term. its basically a (default) setting to have a custom game server go through the dev's backend. all clients connect to that which is then relayed to the actual server host. as far as the player's client can see they're connected to a generic IP from a server provider but in reality the server is being hosted from a residential machine. ---------------------------------------------------------------------- billiarddaddy · 2023-10-07 02:43 I'm currently hosting game servers from home. Your IP is not what you need to worry about. ---------------------------------------------------------------------- billiarddaddy · 2023-10-07 02:44 If the game allows it. ---------------------------------------------------------------------- Type_0_Dev · 2023-10-07 03:09 yes, I do the same with Cloudflare, a subdomain and self-hosted game servers. ---------------------------------------------------------------------- Serious_Tourist854 · 2023-10-07 03:39 I just feel vulnerable knowing my IP is leaked, it's like telling people where I live and I only have 1 home ---------------------------------------------------------------------- netvip3r · 2023-10-07 03:41 If you're going to host the game server, you're simply gonna be giving up your IP to connect to it. What you should be looking at is hardening your network. You want to create a 'safe zone' for your devices while you're game server sits in a DMZ zone. A common setup looks like this: ``` Internet } --- [ Router 1 ] --- [ Router 2 ] --- { Home Devices /| / | { DMZ }< | \ [ Game Server ] \[ Other hosted instances ] ``` The bigger issues most people face is ensuring that they have enough bandwidth. Residential ISPs tend to limit upload speeds heavily and can potentially be the cause of network lag. ---------------------------------------------------------------------- just-ans · 2023-10-07 04:18 Can we even hide our IP? How will we connect to the WEB if you hide our IP? ---------------------------------------------------------------------- TomLutris · 2023-10-07 04:23 Playit.gg will solve your problem. ---------------------------------------------------------------------- jakkal732 · 2023-10-07 04:53 Just proxy your IP behind cloudflare. Simple ---------------------------------------------------------------------- xardoniak · 2023-10-07 04:56 CF tunnels don't do game traffic ---------------------------------------------------------------------- ffimnsr · 2023-10-07 05:25 Use argo tunnel cloudflare if it's utilizing HTTP/S. Otherwise get load balancer from AWS to direct traffic to your internal network. ---------------------------------------------------------------------- Gabe_Isko · 2023-10-07 05:27 There is no pratical way to expose a game server without exposing some ind of ipv4. You need not a *reverse* proxy, but a proxy. That would be another computer that knows your IP, but keeps it secret and forwards traffic to and from your computer to the rest of the game clients. It's not really something you can "self host". I mean, you can technically self host a on a separate computer. But if it is on your network than they still basically know your IP address, so there isn't much point. There are websites that will give you a proxy for free, and there is also cloudfare tunnels which kind of acts as an automated proxy on your ---------------------------------------------------------------------- kaidolex · 2023-10-07 05:51 I use wireguard installed on my vps and set it up to reroute the traffic's to my local home server I also Configure ufw on my vps to allow tcp/ udp connection on specific ports for my game servers My home ip is not expose only the vps public IP address. I use this setup to host my Minecraft server and other web hosting stuff ---------------------------------------------------------------------- Wolf-yuan · 2023-10-07 05:58 Only work with http and https traffic ---------------------------------------------------------------------- XChikuX · 2023-10-07 06:24 Have you looked at cloudflared? ---------------------------------------------------------------------- XChikuX · 2023-10-07 06:24 It's always better to keep your ip hidden. ---------------------------------------------------------------------- Epistaxis · 2023-10-07 06:24 Yeah, it's not a complicated concept: you either need players to connect directly to your server, which means they need your server's address, or you have to route all your server's traffic through a third-party relay, which adds the latency of that second hop. There are a few different ways of doing the second thing (Wireguard probably the best) but it's all the same overall idea. The third-party relay is probably going to be in some well-connected datacenter so the extra latency is equal to your server's ping time to the outside internet, each direction. So it could work if it's not a real-time game that requires rapid response times, or if your server is on something like a direct ethernet cable to a fiber connection and not something like cable internet or wifi. Otherwise just use a VPS as the actual server instead of a relay. ---------------------------------------------------------------------- andru3l · 2023-10-07 06:28 I have cheap VPS with OpenVPN server and Nginx. Then server in my home connect to this VPN and Nginx is set as proxy to internal vpn address. In that way I can move server to different location and it still is accessible without additional configuration. ---------------------------------------------------------------------- SammyDavidJuniorJr · 2023-10-07 06:34 No, it works with any service ports you don’t firewall. Their examples show https because that’s the most common usage. ---------------------------------------------------------------------- FreezerMoosh · 2023-10-07 06:48 DDoS attacks against game servers are rampant. ---------------------------------------------------------------------- PowerfulAttorney3780 · 2023-10-07 06:50 Same thing as tailscale I think. I wanted to set up RDP with cloudflare tunnels, but apparently you can't... at least for free.. ---------------------------------------------------------------------- Originah · 2023-10-07 06:53 For a self hosted group I am really surprised at the amount of people who don't research before they come in and offer their advice? https://blog.cloudflare.com/extending-cloudflares-zero-trust-platform- to-support-udp-and-internal-dns/ And the fact this has so many upvotes worries me. ---------------------------------------------------------------------- leoklaus · 2023-10-07 06:55 It’s called public IP for a reason. Your IP is not something special or private, and you can easily change it by restarting your modem. ---------------------------------------------------------------------- suddenlypenguins · 2023-10-07 07:01 This entirely depends on your ISP. I've had the same "dynamic" IP from my ISP for a year, through many powrcuts and modem reboots. Actually it became so static I forgot, and tied a bunch of external services to it. When it eventually changed I had to quickly fix things! ---------------------------------------------------------------------- [deleted] · 2023-10-07 07:06 [removed] ---------------------------------------------------------------------- UnfairerThree2 · 2023-10-07 07:11 CF Zero Trust’s support for UDP doesn’t extend to the “tunnelling” feature. Not a limitation of ZT, but a limitation of the CF Zone (see CF Spectrum). There’s nothing preventing you from adding everyone to your organisation and connecting that way, but that’s obviously not what they’re trying to achieve. Amazing ego though for your 3 minutes of research with zero context ---------------------------------------------------------------------- chrisspankroy · 2023-10-07 07:27 Cloudflare Spectrum will proxy any TCP/UDP traffic you want, but you’ll pay a hefty price. And if your game server is something that requires low latency like a shooter then you won’t want to use a proxy at all ---------------------------------------------------------------------- Shaidreas · 2023-10-07 07:35 What do you mean exactly by keeping your IP hidden? You're not "hiding" your IP by using a VPN / Proxy etc. You're simply choosing to trust someone with it and route your traffic through their network. You wouldn't be able to connect to the internet if your public IP wasn't exposed. ---------------------------------------------------------------------- McGregorMX · 2023-10-07 07:49 Based on what I'm reading, just get a hosted server. ---------------------------------------------------------------------- Originah · 2023-10-07 07:52 The fact i also use tunnels for game servers was the rest of my research so I simply threw out an answer to the UDP information. As its misinformation at best ---------------------------------------------------------------------- Originah · 2023-10-07 07:57 Additionally a simple pointer to a service along the tunnel is sufficient and you can always throw nginx on the other end to deal with the internal routing ---------------------------------------------------------------------- Autchirion · 2023-10-07 07:59 Cloudflare Tunnel offers this, all traffic goes to then and they forward it to your server. ---------------------------------------------------------------------- AdrianTeri · 2023-10-07 08:05 On the public part ... It can be but it shouldn't in 2023(punching holes on your NAT). It's you and a couple of friends. You all know each other. On Cloud vs Local ... Are you in the same country? If you are you won't suffer high latencies as traffic will bounce back from IXPs(Internet Exchange Points) should you locally host or maybe there exist private **peering** arrangements(diff ISPs) or maybe you're all on the same ISP. On the same country bit(local hosting) I'd even go further as to say it may be feasible if you have friends over in a neighbouring landmass ... P.S It's time to start looking up inter-connectivity btn your country and its neighbours. Some resources... - Setup/invite your friends to something like a tailscale, zerotier network etc and conduct some tests.. I'd recommend using **mtr**(My Traceroute) - https://www.bitwizard.nl/mtr/ to get stats such as loss & pings... ---------------------------------------------------------------------- leoklaus · 2023-10-07 08:05 You could always call them and ask for a new lease if you’re having trouble. My ISP also gives extremely long leases, but even with a static IP, there’s no need to “protect your ip“. Masking your IP is, at best, security by obscurity, it’s not something you should rely on. If you have other, proper protections in place, there’s no need for masking your IP anymore. ---------------------------------------------------------------------- waterbed87 · 2023-10-07 08:47 https://discordresolver.c99.nl ---------------------------------------------------------------------- waterbed87 · 2023-10-07 08:47 https://discordresolver.c99.nl ---------------------------------------------------------------------- sebasdt · 2023-10-07 08:57 Ehmm. what?! If this is a nginx config for a Minecraft server? If so that shouldn't work to my knowledge as the game will not pass http(s) headers. ---------------------------------------------------------------------- Bassassin10 · 2023-10-07 09:10 Read the last line on the site ---------------------------------------------------------------------- therealSoasa · 2023-10-07 09:23 Hamachi ---------------------------------------------------------------------- Keplair · 2023-10-07 09:42 Eco ? ---------------------------------------------------------------------- l3375p34k3r- · 2023-10-07 10:02 Purchase a domain on Cloudflare, set up a CNAME record to point to your router's DDNS or an A-record to your public IPv4 (utilize Cloudflare's proxy function), and use a local reverse proxy, and you should be good to go ---------------------------------------------------------------------- irShiraishi · 2023-10-07 10:11 If you wanna host stuff from home without exposing your IP you can use CloudFlare and only allow web connections to go through that. For game servers and other applications you could use something like https://cosmicguard.com , they have an easy app you can install on windows or Linux and it lets you use one of their DDoS protected ips as a proxy to connect to your home internet without exposing your IP with very little latency. 🙂 ---------------------------------------------------------------------- TBT_TBT · 2023-10-07 10:41 „Ping shitty.hostname.no-ip.com“ -> IP. That is why you were downvoted. ---------------------------------------------------------------------- monotonousgangmember · 2023-10-07 10:44 Not sure what your comment means. My solution is the easiest in the entire comments.. and it does exactly what OP wants. Shit that's why so many people use it for Minecraft/Runescape/WoW private servers.. ---------------------------------------------------------------------- sebampueromori · 2023-10-07 10:45 If your server supports arm architecture then oracle cloud free tier ---------------------------------------------------------------------- sebampueromori · 2023-10-07 10:49 You're still missing the point , using a dns service does not hide your ip, it just makes it easier for users to connect to your service ---------------------------------------------------------------------- TBT_TBT · 2023-10-07 11:01 Thanks. This is exactly my point. ---------------------------------------------------------------------- monotonousgangmember · 2023-10-07 11:13 OK maybe I don't know what OP is talking about then. Bro wants to host a game server on his home computer that people can connect to without giving people his IP address. And he would rather not use cloud hosting. What's the solution? By the way who tf is going to traceroute their friend's Valheim server's no-ip hostname ---------------------------------------------------------------------- BouncyPancake · 2023-10-07 11:20 That's called an L7 proxy. Nginx can also work as an L4 proxy as well! ​ This configuration doesn't deal with the application layer at all for example, just passing on the request from the proxy to the destination IP address: server { listen 25566; proxy_pass 1.1.1.1:25565; } This configuration deals with layer 7: server { listen 443 ssl; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem; location / { proxy_pass http://1.1.1.1:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; allow all; } ---------------------------------------------------------------------- sebampueromori · 2023-10-07 12:15 Yeah you're not getting what he/she means. He wants to hide his/her ip address for security reasons ---------------------------------------------------------------------- maxymob · 2023-10-07 13:00 Who would setup a game server on wifi to begin with ? ---------------------------------------------------------------------- natecovington · 2023-10-07 13:12 If you've got "symmetric" (same up and down) fiber optic connection at home, this will be surprisingly fast. I made a video that walks through a few different ways of setting up the reverse proxy: [https://www.covingtoncreations.com/blog/decentralized-web-app-self- hosting](https://www.covingtoncreations.com/blog/decentralized-web- app-self-hosting) I'm using mine with an older style "asymmetric" cable modem and even though I only have 20MB upload speed, it's surprisingly responsive. If I tried to run a game server with simultaneous connections, I think that's where my bottleneck would be (20 MB upload). ---------------------------------------------------------------------- returnofblank · 2023-10-07 13:24 I feel as if any remote desktop stuff should be ran through a VPN anyways ---------------------------------------------------------------------- returnofblank · 2023-10-07 13:25 You may not be able to hide *a* IP address, but you can definitely hide *your* IP address. Cloudflare Tunnels is a great example of this ---------------------------------------------------------------------- 30dayswith · 2023-10-07 13:30 This is the way. ---------------------------------------------------------------------- NikStalwart · 2023-10-07 13:50 > Cloudflare Tunnels is a great example of this I disagree. Cloudflare tunnels require cloudflare clients for non-HTTP protocols ([see this](https://developers.cloudflare.com/cloudflare- one/connections/connect-networks/use-cases/smb/#connect-to-smb-server- with-cloudflared-access) for example). At this point you're running a VPN with all of the user management that entails, and also, as an end user, I do not want to be installing dirty VPN clients to connect to randos. ---------------------------------------------------------------------- Scimir · 2023-10-07 14:10 Ok, I’ve looked into this for a few hosting projects so far. You have several options with different impacts on performance and security: 1. Rent a domain or use any you have already. Create an A record pointing to your servers IP. People can now connect via Minecraft.domain.com to your server. Least impact on performance but low „security“ as looking up the record could be done very easily. From my experience this should not be a problem for most smaller servers with less tech savvy or toxic players. 2. Basically 1 but a little more layered. E.g. Minecraft supports so called SRV DNS records. They point specific programs such as Minecraft to its respective server (e.g. the srv record _minecraft._tcp.domain.com. points to Minecraft.domain.com). Most people won’t even know about srv records and won’t be able to look it up. All players connect simply to domain.com even though domain.com does not even point to your server. An attacker would first have to look up the srv record for domain.com and then look up the A record making it more „layered“. I expect this to be enough for nearly every server. Probably doesn’t work for eg Ark because most games simply don’t have a publicly accepted SRV option. 3. Your third option could be to use services such as tcpshield that offer tailored protection services for Minecraft and other game servers. They often offer free tiers that will hide your ip. 4. A possible fourth option can be a vpn solution that many have already suggested. You would simply rent a small vps or comparable that simply acts as your front door to your server. It builds a tunnel to your game server host and passes all requests through that tunnel. Not overly complex and instead of your private ip only the public ip of the cloud hosted server will be published. You can also combine that with every solution mentioned before. For me this would be too complicated for simple game server hosting and will probably put a toll on your clients latency. 5. Rent a small server that is capable of running your game and do it there. Personally I do not go a long way to „hide“ my ip address away. At home I have no static ip and my game hosts simply are not worth the effort. And I wouldn’t really care about my ip being public. DDOS etc mostly happen with either big servers or really toxic communities. I try to mitigate risk by choosing before hand who enters. Feel free to hit me up if you have any further questions. Currently sitting home with a cold and can’t really do a lot. ---------------------------------------------------------------------- shailendramaurya · 2023-10-07 14:19 Just use cloudflare tunnel ---------------------------------------------------------------------- victortroz · 2023-10-07 15:17 Tried accessing and got a page saying the domain is for sale ---------------------------------------------------------------------- No_Dragonfruit_5882 · 2023-10-07 15:35 Its not telling people where you live ---------------------------------------------------------------------- prototype__ · 2023-10-07 16:06 I do this with Cloudflare, it's handling my domain's DNS. I use a proxied wildcad CNAME to a subdomain, with the subdomain being a dynadns-updated A record pointed to your home machine. eg. A - [home.example.com](https://home.example.com) \- dynadns updated a record (by my router, lots have this feature built-in) - set as proxied in Cloudflare to hide your home IP address CNAME - \*.home - proxied CNAME which allows for dynamic sub- subdomains, eg. [minecraft.home.example.com:7777](https://minecraft.ho me.example.com:7777), [minesweeper.home.example.com:6545](https://mine sweeper.home.example.com:6545) You can also use reverse proxying locally to handle the incoming requests and ditch port numbers if needed, or indeed serve other things without setting up external DNS such as \*.games.home.example.com, \*.media.home.example.com... If you don't want the 'home' and your domain is only for your local use, set the root A record as the proxied, dynadns'd A record. ---------------------------------------------------------------------- hardypart · 2023-10-07 16:55 No need for a Cloudflare tunnel. You can enable proxying for your DNS records (which is the default settings actually), which will show a Cloudflare IP as the origin of your services. ---------------------------------------------------------------------- KaneKne · 2023-10-07 17:25 I think playit.gg is your answer. ---------------------------------------------------------------------- Autchirion · 2023-10-07 21:24 True, thank you for pointing this out! I was actually using it like this for a while, but I think if you want to hide your IP anyways, why open a port in the first place. It‘s less surface someone can abuse, I‘m not Security expert, so I‘d rather outsource this. ---------------------------------------------------------------------- Suchencjusz_ · 2023-10-07 22:56 Iptables and ipv4 forwarding also work in clear Debian ---------------------------------------------------------------------- Barrett_M82 · 2023-10-07 23:00 I use https://www.dynu.com/en-US/ I run a Valheim Server and a 7 Days to Die Server, I made an acct for each one. To connect to my server people just put for example yourservername.loseyourip.com that forwards to your server so they don't need your IP it also helps if your IP changes the client auto updates dynu your current IP. ---------------------------------------------------------------------- aztracker1 · 2023-10-07 23:21 It's a bad idea for something like a game server where latency is King. If you can proxy from a server at your local ISP, or from a nearby host using your ISP... even then you're probably better off just putting your game server in that host/server. If it's temporary, use linode, digital ocean, Amazon or any other option where you can rent a virtual server by the hour. Put your server there. If you take the time to automate it script, you can backup and restore from something like S3 or similar pretty fast. ---------------------------------------------------------------------- DarthLeoYT · 2023-10-07 23:23 Proxying Minecraft is a cloudflare paid feature ---------------------------------------------------------------------- BouncyPancake · 2023-10-07 23:24 I know but I'm very stupid so, I can't see myself getting something like that working. If I could, I'd leave the instructions here and scream it to the rooftops. I've been on this hunt for a long time but I lack advanced networking knowledge and it makes it hard to work in iptables ---------------------------------------------------------------------- Suchencjusz_ · 2023-10-07 23:50 Here is a nice guide for wireguard vpn https://serverfault.com/questions/1067746/port-forwarding-with- __wireguard ---------------------------------------------------------------------- sebasdt · 2023-10-08 04:47 What for sorcery is this XD Now I have to try it. Let's say I got am two minecraft servers. Both have a dns Svr record, one.server.com and two.server.com How would a nginx config look like? ---------------------------------------------------------------------- XChikuX · 2023-10-08 05:42 If cloudflare is the only one that knows about your ip. That's fine, you have to put your faith in a 3rd party to hold your info sometime or the other. If you point a dns to your game server. Your ip is now publicly exposed. And anyone can start targeting you. One instance of low orbit ion Canon and your server will go down lol. Staying behind cloudflare dns will save your from this trouble. Because they will auto rate limit these attacks. ---------------------------------------------------------------------- XChikuX · 2023-10-08 05:43 Not how it works. But you do you. ---------------------------------------------------------------------- BouncyPancake · 2023-10-08 07:09 I prefer to use the SRV since Minecraft has that as a feature, utilizing it is great BUT you should still have a reverse proxy if you're inviting people you don't trust to the server #Minecraft Server 1 on port 25566# server { listen 25566; proxy_pass 1.1.1.1:25566; } #Minecraft Server 2 on port 25566# server { listen 25565; proxy_pass 1.1.1.1:25565; } or you can do: At your house, open up port 25565 for Minecraft Server 1 Open up port 25566 for Minecraft Server 2 then on the reverse proxy do: #Minecraft Server 2 on port 25566# server { listen 25565; proxy_pass 1.1.1.1:25566; } This tells Nginx to listen on 25565 but route the traffic to port 25566 on your network. So both servers have a port of 25565 but one will have a different IP address. This also prevents weird DNS issues and people accidentially joining the wrong server. For example, if you did the first idea with SRV, if Minecraft Server 1 was down (on port 25566) then any traffic would route to the default Minecraft port 25565 which would mean people are going to wrong server. ​ You can't (by default) make a user join a server based on the domain requested because that's handled at Layer 7 usually. For example, server1.example.com can't go to 1.1.1.1:25565 --> 192.168.0.2 and server2.example.com can't go to 1.1.1.1:25565 --> 192.168.0.3. Layer 7 is the application layer and Layer 4 (where we're working) is the transport layer; it doesn't deal with DNS requests. However if you got a Minecraft reverse proxy set up, it could understand the domains because that reverse proxy specializes in the Minecraft protocols since it's an L7 proxy. So basically a Minecraft reverse proxy is a L7 proxy for Minecraft. ​ However, I've setup an HAProxy before which does some weird networking magic and can read the domain being requested BUT it still only works at Layer 4 (the transport layer). So basically you can request server1.example.com will go to 1.1.1.1:25565 --> 192.168.0.2 and server2.example.com will go to 1.1.1.1:25565 --> [192.168.0.3](https://192.168.0.3). I did this once for a specific server on my network which handled its own SSL certs. Basically I didn't want Nginx handling that servers certs so I made an HAproxy reverse proxy. When that specific server is requested (owncloud.example.com), HAProxy would route the traffic directly to the OwnCloud server, but if the request was test.example.com or example.example.com, it would forward it to Nginx. ---------------------------------------------------------------------- Wolf-yuan · 2023-10-08 09:26 Yup, it requires you to install Cloudflare Warp w/ Zero Trust account logged in, and some configuration through their dashboard. ---------------------------------------------------------------------- sebasdt · 2023-10-08 19:06 Man what a great explanation. I've learnt a lot! One last thing, is it possible to use a subdomain name. Or is that not possible? ---------------------------------------------------------------------- BouncyPancake · 2023-10-08 21:13 Technically yes, that is correct. I have an HA Proxy set up but it's not setup for Minecraft. I can at least try to mess with it and see if it works. If it works, I'll drop the configuration here (for anyone who needs it later). I'll do it with three servers just to drive the point home lol. I'll do that after I finish writing some scripts that need done. (I'm a massive procrastinator) ---------------------------------------------------------------------- sebasdt · 2023-10-09 06:04 That would be awesome! Still update me even if it didn't work, and yeah you're not alone procrastinating XD. Well, if it doesn't work, there's always the option for bungeecord or velocity. It would be pretty interesting to see. Don't you think someone else already tried it? ---------------------------------------------------------------------- BouncyPancake · 2023-10-09 06:47 Probably? Although people have tried and maybe accomplished it, sometimes they don't document their findings and stuff and we're still left guessing. Or maybe because it works, and it's so obvious why it works, no one cared to declared it works. Look at the conversation earlier when I was explaining about how Nginx does have a Layer 4 capability. Not everyone knew about that, some probably still thought it was only a Layer 7 reverse proxy. Although there's ample conversation online about it being an L4 reverse proxy, sometimes it just doesn't come across the feeds of certain people who they're left in the dark about it essentially or sometimes it's so complicated that people just don't bother with it and forget that it's even possible. I fall into the latter group in the HAProxy space. I didn't know HAProxy was capable of doing L4 with URL/domain (SNL(?)) capabilities because I didn't/couldn't do it correctly so my mind just kinda forgot about it / didn't care. (if that makes sense) I definitely think it's possible though. I don't see why it wouldn't be possible so maybe no one cared to say it works since it's obvious to people who use HAProxy. Don't worry; since I have the configuration already running essentially, it shouldn't take long to set up. Just gotta clone the VM and change the IPs and domain names to fit my testing. ---------------------------------------------------------------------- DyingLoneliness · 2023-10-15 21:44 CloudFlare Spectrum does. ---------------------------------------------------------------------- DyingLoneliness · 2023-10-15 21:45 This is exactly why CloudFlare exist.