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
  • Наука та технологія

КОМЕНТАРІ • 20

  • @rafelinalazar
    @rafelinalazar 4 місяці тому

    As a user, I rely on Zeus Proxy's residential proxy for my MMO activities, finding it indispensable for my online endeavors.

  • @muteebakram37
    @muteebakram37 Рік тому

    Awesome series. Apperciate the work you put in.

  • @hoxorious
    @hoxorious 2 роки тому +1

    I just found your channel and subscribed. Very cool idea 👌 love to see more 👍

    • @UnitOfTimeYT
      @UnitOfTimeYT  2 роки тому +1

      Thanks! I appreciate it! I'm working on more, but have been busy, so it's slowly coming along.

  • @lorenzo2522
    @lorenzo2522 День тому

    subbed!

  • @felipearmandoryan
    @felipearmandoryan Рік тому

    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)

    • @UnitOfTimeYT
      @UnitOfTimeYT  Рік тому

      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!

  • @jofla
    @jofla Рік тому

    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?

    • @UnitOfTimeYT
      @UnitOfTimeYT  Рік тому +1

      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.

  • @andhuruh
    @andhuruh 2 роки тому

    nice work

  • @RoyJoachimMurat
    @RoyJoachimMurat 2 роки тому

    +1 subscriber

  • @EightSixx
    @EightSixx 2 роки тому

    +1 SUBBED

  • @chetana9802
    @chetana9802 2 роки тому

    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

    • @UnitOfTimeYT
      @UnitOfTimeYT  2 роки тому +1

      Thanks! I'm working on more! Hope to see you around!

  • @aghileslounis
    @aghileslounis Рік тому

    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

    • @UnitOfTimeYT
      @UnitOfTimeYT  Рік тому

      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!

    • @aghileslounis
      @aghileslounis Рік тому

      @@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

  • @rafelinalazar
    @rafelinalazar 4 місяці тому

    As a user, I rely on Zeus Proxy's residential proxy for my MMO activities, finding it indispensable for my online endeavors.