Building a Proxy Server for an MMO [Making an MMO - E14]
Вставка
- Опубліковано 3 чер 2024
- Today we explore the basic concepts behind proxy servers: What they are and why they are used. We will discuss the major implementation details of our proxy as well as tout some of the benefits of hiding our game server behind a custom written reverse proxy.
⁍ Series: • Mythfall
This tutorial series is about creating an MMO from (almost) scratch. We will be coding in Golang and we will use libraries where appropriate. I will stay at a fairly high level for most things, but let me know if you want a more intensive study on any individual topic and I'll try to make an episode where possible.
Thanks for watching! Happy to answer any questions!
// Repository: github.com/unitoftime/mmo
// Read it: unit.dev/posts/intro_to_proxy/
// Play: mythfall.com - Наука та технологія
As a user, I rely on Zeus Proxy's residential proxy for my MMO activities, finding it indispensable for my online endeavors.
Awesome series. Apperciate the work you put in.
Thanks! Glad you are enjoying it!
I just found your channel and subscribed. Very cool idea 👌 love to see more 👍
Thanks! I appreciate it! I'm working on more, but have been busy, so it's slowly coming along.
subbed!
Love your content! Was thinking 2 things: 1. Wheres your Patreon? 2. Have you thought about the proxy knowing the position of the player in order to only send it WorldUpdates that matter? (ie, dont update me on a player moving N screens away from me)
Hey! Thanks, I'm glad to hear that!
1. Yeah I am actually working on making one right now. I appreciate the interest. It means a lot!
2. Yeah that's definitely been in the back of my head. Right now the server sends the entire game state (because the game is small) to each player by sending it through the proxy. I think eventually I want to make a sort of "Smart Proxy" Who aggregates the networkable game state from the game server and then maintains some kind of priority queue per connection of what updates are important to which player (based on what its for and how close it is). It's definitely an interesting task, but in the past it hasn't been super valuable because the game is still very small. But I'm starting to go back and prioritize tasks that I avoided (like this one) because at the time I didn't have a cohesive picture of how it should work. These sorts of things tend to "lock you in" a little bit, architecturally, which is why I sometimes avoid them. But its definitely a good suggestion!
great video, I wanted to build a proxy server to manage some connections to a service but I had no idea how to start, do you have good resources to learn more about things like this?
Thanks! Sorry I don't really have many resources about the specific topic of writing proxy services. If I had to guess, "real" proxies like nginx and the like probably have more specific optimizations that I don't really cover here. I kind of built this to be simple and contain the bare-minimum feature set that I required for my application.
nice work
Thanks!
+1 subscriber
+1 SUBBED
was scrolling through programming videos and found your hit video ua-cam.com/video/ZuVyxnpMZO4/v-deo.html
didn't realize you are also making a game, luckily I checked the other uploads and was delighted with your content
good job, good luck
Thanks! I'm working on more! Hope to see you around!
Great video ! I'm a fullstack web developer using mainly Typescript, I have background in physics, maths and machine learning, but i lack foundation in computer science, so i can't fully understand what are you talking about, but i'm highly interested, if you have any book to recommend that teaches those modern concepts used in the industry, or videos/tutorials, anything really, i would really appreciate it ! +1 like and +1 sub
Thanks man! Really appreciate it!
If you want to learn algorithms, I'd watch this series (There might be a newer one, but it's basically MIT 6.006 class recorded): ua-cam.com/video/HtSuA80QTyo/v-deo.html
If you want to learn about optimizing code (Basically squeezing as much as you can out of a computer). I recommend this one: ua-cam.com/video/o7h_sYMk_oc/v-deo.html
Distributed systems: ua-cam.com/video/cQP8WApzIQQ/v-deo.html
I think it's also important to learn physically how computers work (computer architecture) and also about some common abstraction patterns (How OSes work, things like that). I don't have any recommendations for this type of content unfortunately.
There's tons to learn, but I think if you take it one day at a time you'll be surprised at how far you can get over a couple of months and years.
And of course I'll try to keep putting out interesting videos about how I solve problems, and hopefully those will help some too!
@@UnitOfTimeYT thanks 🙏 for the quick response, for the physical part of a computer I have a good understanding i assume since i did that in physics, it is related to magnetic fields, electricity and low level quantum physics, the 3 combined we can build small logical units and store data basically, but once we are in the computer that’s where I lack knowledge like what you were talking about, proxys, protocols, servers and all of that… pretty good at algorithms and data structures, but I will definitely check the one about distributed systems that’s where I have gaps thank you
As a user, I rely on Zeus Proxy's residential proxy for my MMO activities, finding it indispensable for my online endeavors.