Original Post — Direct link

Hello Everyone!

Ever wonder how League of Legends actually works from a back end network/systems perspective? Curious about what a day in the life of a Network Engineer, Data Center Technician, or Software Engineer providing tools for automating our systems looks like? Want to come complain to us because you missed your Blitz hook because of "lag"? We're here to answer all of your Networking, Software, and Systems related questions!

Rioters joining in the AMA today include:

Data Center Engineer

/u/wr4ithL0rd

Data Center Systems Engineers (Think internal applications that we use to get business done)

/u/aaandpost

/u/RiotAgulot

/u/ritoBlueMoosto

Data Center Network Engineers

/u/LrdWick

/u/Laslow21

Riot Direct Network Engineer

/u/RiotKorensky

Riot Direct Software Engineer

/u/RiotAkov

Before posting your questions, here's a quick primer on stuff we can and cannot answer:

  1. Examples of questions we can talk about

- How we work to help make ping/packet loss better

- What does the inside of our Data Center Core Network look like from a design perspective

- What tools do we use to automate deployments

- Riot's Global Backbone

- A day in the life of a Riot Data Center technician

  1. Examples of stuff we can't answer

- Troubleshooting individual connectivity issues

- Vendor equipment we use

- Anything that could open us to security risks

  1. Finally - If you'd like to work with us and make our team games spicier - we'd love to have you!!

https://www.riotgames.com/en/work-with-us/disciplines/engineering You can sort by Product Team: Riot Platform Group and sites Los Angeles or Dublin!

EDIT: We are gonna call it quits in about 10 minutes (5PM PST). We really appreciate all your questions and had a really fun time today. We'll continue to monitor the post for the next day or so, so if you have more go for it, but will be delayed response. Thanks so much!!!

EDIT2: Time for Ranked for us! Thanks everyone!

External link →
almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by hastalavistabob

Are there still hamster jobs open at Riot atm? (asking for a friend)

Holy cow!!! A talking Hamster!

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by FldLima

When will you remember Diana is a actual champ in this game?

Twilight Fades!

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by SernieBanters

What is more powerful. The collective minds of people who have spent years studying networking.... or one clashy boi?

Clashy Boi too Stronk

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by lescribanot90

Which has more bugs, Morde or the Client?

Morde, hands down

huehuehue

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by etc_fantus

nerf riven!

Nerf Not Irelia!

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by CrazyPl0x

I play from the Philippines and constantly have 200+ ping but no lag till it reaches 300. Why is that?

Its really hard to tell with just that bit of knowledge. If ping suddenly changes, it could mean that the path you take to the game server has changed, or it could mean that something in between is overloaded. If you are using wifi, it could also mean that you are having interference. Theres probably two dozen other reasons, but thats where I would start.

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by That0neSummoner

Do you guys have dedicated network security guys (rioters)?
Also, what are some security challenges that running data systems on the scale of riots's present that aren't present in smaller data systems?
Random, why don't you port over to aws to save yourself some headache?

  1. Yes, we have several teams dedicated to various types of security, including network and app
  2. For each publicly available service, you increase your attack surface. Riot has so many in fact that its no longer possible for an individual to even comprehend an entire ruleset, let alone how many rulesets interact with all the others. On a small network I would expect any network engineer to be able to answer "Is port X open to the public any where" but on large networks we have to rely on our tools and automation to tell us that. Not sure if that makes us better or worse.
  3. Cloud Providers offer a lot of things, but there is a break point where the cost of a bare metal server is cheaper. The best thing is a judicious balance of many cloud providers and bare metal, trading back and forth for cost/speed as each use case needs. I would say there is never THE right answer when it comes to infrastructure, neither cloud nor bare metal will solve every problem.
almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by Ser3nity91

What can I do to reduce jitter/ms fluctuations for league? My isp isn’t the greatest, but it’s like 45 to 65 mbps. I frequently get lag spikes.

Depends a lot on whats causing the fluctuations, if you are using wifi...get wired. If its a shared network more bandwidth or maybe even Qos if your router supports it. If the problem is outside your house, theres not a lot you can do other than complain to your ISP or change ISPs. Take all this with the grain of salt that I dont know much about your situation.

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by BlaaaBlaaaBlaaa

Sorry for the late response but maybe I can still ask some questions :)

I am working as a System Administrator in a medium sized company so I am really interested in the more basic stuff going on in the background if that makes sense.

  1. Can you tell us anything about how your basic server infrastructure looks like? For example:
  2. How many servers?
  3. How many Windows/Linux/Other servers are there and which versions are you using?
  4. What kind of storages are you guys using and how big is it?
  5. Which backup software are you using?
  6. How specilaized are your "IT guys". For example are there dedicated mail, storage, VM .... teams?
  7. What does your mail infrastructure look like?
  8. Are you doing everything on premise or M365?

  9. What software are you using for asset managing? This is quite hard even for small companies but I think for your this is insane with all the dependencies.

Thanks a lot and have a great week!

Lot of stuff in here, unfortunately we dont really talk specifics when it comes to numbers and versions, I also dont know much about the back office (IT) side of the house so I wont speak for them.

  1. Lots of servers, at least 100 Garens
  2. We have about a 60/40 mix of windows and linux servers, depending on usecase
  3. We use open source front end / middleware on top of whitebox servers with a lot of disk
  4. With few exceptions we treat our servers as cattle instead of pets. Meaning if any one server were to suddenly die, its a statistic rather then a sadness. So most of our servers dont require backups. Things that deal with persistence (Databases) replicate their data to multiple other servers, and then one of them writes that data to...well...its black magic to me, but theres a team that manages where that goes and what happens to it after.
  5. Riot tries to get every engineer to be a T, a deep tech passion, with a lot of broad knowledge. Each team at riot is responsible for a thing, and they take care of every aspect of that thing. So sorta both specialized per team, but not per engineer.
  6. Question for IT folk, sorry i cant help
  7. M365?
  8. Asset management is still a super tough problem. Different teams use different software depending on their needs. I *think* our DC team uses Device42, but beyond that, I honest not sure.

Sorry for vagueness or non-answers. I did my best

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by PraiseTheStun

What is the worst thing that could happen to a software engineer that works at Riot?

Probably to get promoted and not be able to code anymore

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by hastalavistabob

"My friend" also has 2 thumbs and can drive a DeLorean with 88 miles per hour, consider hiring him

Is he a Doc?

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by Ser3nity91

Thanks unfortunately wifi is my only option

Theres a lot of options with wifi, a dedicated point to point bridge on a different channel could help. Consider changing between 2.4 and 5ghz, there might be something specific interfering with which ever one you are using. You may try changing channels as well. It might be a crowded airspace. Might consider getting directional antenna, could help a lot there too. I dunno, don't give up there, work the problem, experiment with settings and positions for your wifi.

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by B3bby

What is ekg.riotgames.com? I have a pi-hole (a dns sinkhole for adverts) and it loves blocking this domain, doesn't seem to impact league at all but it makes me wonder what it is?

Its the client stats reporter end point. That feeds data that allow us to detect problems with ISPs and feeds services like lagreport

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by Ser3nity91

Thanks so much for the response ! I’ve tried most things just wanted to pick your brain for anything I haven’t done yet!

Good luck!

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by B3bby

I suppose I could just whitelist it then! :) Thank you for the answer.

Glad I could help!

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by L-E-iT

A bit late to the party. but still worth a shot.

  1. How does your team handle scaling for game servers? Are the servers containerized and are they running on any orchestration platform like Kubernetes? I'm curious if game servers are any different from normal server scaling and if there is any extra thought that has to go into it.

  2. Does your team use any Infrastructure as Code or Configuration as Code practices to version control your backend systems? I've chatted with your build team before about their use of Terraform, but I'm curious if that practice is also shared by your team.

Thanks! Always a blast talking to Rioters about y'alls architecture and engineering :)

  1. Game servers are treated like every other server, just with high network other resource utilization. They differ mainly in that the work loads last between 15 minutes and 4 hours and cant be interrupted with out impacting players. So we try to not do that ever.
    1. We do have orchestrations like docker / k8s /dcos.
  2. Some of use make heavy use of ansible and jinja, others are into Napalm, and we also have a lot of in house built tools to do specific one off tasks.
almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by mazrim_lol

What sort of specifics are you looking for in candidates, especially in first stages? I did recently apply to the engineering team and am a data scientist/coder in London. I was pretty disappointed to not even get to the non automated/HR response given I think I have a pretty strong CV and positive processes with large competitive investment banks etc with same credentials

Like no email no call nothing? If thats the case, I'd say something is probably wrong and you should resubmit.

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by hastalavistabob

Sorry, he is a cowboy

Does that mean that the Delorean has the top let down and the sunshine is shining?

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by BlaaaBlaaaBlaaa

Thanks a lot for your response!!

  1. Damn 100 Garens is a lot. I guess its quiet noisy in your datacenters.

  2. Interesting. I would have thought you have quite a lot more linunx servers.

  3. Ok :)

  4. Really interesting concept. I think that is one of the main differences when everything is scaled up like crazy. However you still need to worry about corrupt data spreading over multiple systems - right?

  5. Sounds interesting. Can you tell something about the management hirarchy you guys are running? Classig team with teamleads or something different?

  6. Ok, no problem.

  7. Office 365

  8. Thanks a lot for that information. Never heard of that software but sounds interesting on the first look. Definitely will have a look at it in more detail tomorrow.

Thanks a ton again and have a great day!

Damn 100 Garens is a lot. I guess its quiet noisy in your datacenters.

Lots of whirring, its like a URF one for all with both sides picking Garen

Really interesting concept. I think that is one of the main differences when everything is scaled up like crazy. However you still need to worry about corrupt data spreading over multiple systems - right?

Not really, I mean theres obviously a risk, but its pretty low given that most data is pushed too servers, and the only thing that comes back goes through well formed APIs. I dont know that we've had an incident like you describe.

Sounds interesting. Can you tell something about the management hirarchy you guys are running? Classig team with teamleads or something different?

Teams are mostly self organizing, but my part of the world we have a Dev Manager hat that takes care of trying to keep us working on a sustainable pace and helps us meet our internal deadlines, a Product Lead hat which takes care of working out the vision for the thing we are working on and works with other teams to create and set expectations, a Tech Lead hat that is accountable for the quality of the work we do, an Engineering Manager that is responsible for our happiness / taking days off / and career progression, and finally a Team Captain hat that ensures all the other hats are doing their roles and generally is the back up for all the other roles. Each hat could be worn by any engineer, and will shift as needed / wanted. Engineering Managers span teams, and all engineers work for an Engineering Manager (EM), and then the loans out engineers to teams. All the roles, except Engineering Managers and Dev Managers are also Engineers that do engineering work every day. I have no idea if that makes sense, and it certainly sounds weird, but its grown on me over the years to separate the person that tells me what to do, from the person that cares about how I am. Removing that conflict of interest has had staggering improvements on my quality of life.

Office 365

Guess its obvious that its not that then :P

Thanks a lot for that information. Never heard of that software but sounds interesting on the first look. Definitely will have a look at it in more detail tomorrow.

I couldn't recommend it, but I also couldn't recommend any other either.

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by mazrim_lol

I did get the thanks for applying but we are not looking at you at this time response, I don't want to sound too entitled as I know you get a lot of candidates but it seemed very short and wondered if something big like not being based in Ireland was a straight up decline etc

I dont know of any, but I'm not in that team/office so I cant really speak for them

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by mazrim_lol

I did get the thanks for applying but we are not looking at you at this time response, I don't want to sound too entitled as I know you get a lot of candidates but it seemed very short and wondered if something big like not being based in Ireland was a straight up decline etc

I would say, respond back and ask for feed back and recommendations on what you could improve or change.

almost 6 years ago - /u/RiotAkov - Direct link

Originally posted by L-E-iT

If you don't mind me asking, have you ever experienced a game server pod on k8s being migrated from one node to another? Is that something you allow? If you don't but you have tested it, how has that impacted the game in your tests?

Thanks again for the answers :)

A game stays to the same server it started on no matter what. Even then I don't have much more than personal application "for fun" experience with k8s (as i'm an infrastructure fellow that works on stuff beneath that layer), so I'm not sure what has been tested or not, nor the results.