• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 22:07
CEST 04:07
KST 11:07
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL22] Ro16 Preview: Rough Waters9[ASL22] Ro24 Preview: Siren's Call8[ASL22] Ro24 Preview: Summer's End9Serral wins HomeStory Cup 2915Serral wins Maestros of the Game 244
Community News
Weekly Cups (Aug 30-Sep 7): herO thrives amid growing schism6Official StarCraft website teases new content ahead of BlizzCon?120Stellar Fest TWO the Moon (Dec 16-20)9Weekly Cups (August 24-30): Patches' balance mod takes over3New 3v3 BGH Ladder (and more) on ShieldBattery!46
StarCraft 2
General
SC4ALL: II Winner Will Earn a Spot at HSC 30! Weekly Cups (Aug 30-Sep 7): herO thrives amid growing schism SC4ALL II: StarCraft 2 Player Announcement 7/8 Nexon wins bid to develop StarCraft IP content, distribute Overwatch mobile game Balance hotfix patch 5.0.16b (July 16)
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament Sea Duckling Open (Global, Bronze-Diamond) 2026 GSTL Announcement Stellar Fest TWO the Moon (Dec 16-20) IntoTheTV X SOOP SC2 League : Weekly & Monthly
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
Mutation # 542 The Ascended Mutation # 541 Binary Choice The PondCast: SC2 News & Results Mutation # 540 Dodge This
Brood War
General
Official StarCraft website teases new content ahead of BlizzCon? [ASL22] Ro16 Preview: Rough Waters ASL22 General Discussion Pros React To: Calm's Big Brain Play Vs Mini New 3v3 BGH Ladder (and more) on ShieldBattery!
Tourneys
[ASL22] Ro16 Group A [ASL22] Ro16 Group B [Megathread] Daily Proleagues BWCL Season 65 Announcement
Strategy
Replay Review Process - What do you do? Simple Questions, Simple Answers Odyssey Mineral Stack Saturation Game Theory for Starcraft
Other Games
General Games
Nintendo Switch Thread EVE Corporation Diablo IV [Maplestory Hardcore] Let's Play~!! General RTS Discussion Thread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Power Rank TL Mafia Community Thread NeO.D_StephenKing vs This Guy From 1 Million Dance
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread Trading/Investing Thread Things Aren’t Peaceful in Palestine
Fan Clubs
MarineLorD Fan Club The Creator Fan Club The ShoWTimE Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
F* the Children and Get Off …
TrAiDoS
Dreaming of BW patches (mod…
c3rberUs
Regacy Esports: The Bh…
regacyesports
LOCKPICKING NOOB
LUCKY_NOOB
Customize Sidebar...

Website Feedback

Closed Threads



Active: 5855 users

Some notes regarding SC2 networking - Page 8

Forum Index > SC2 General
167 CommentsPost a Reply
Prev 1 6 7 8 9 Next All
warcode
Profile Joined March 2010
Norway46 Posts
April 27 2010 18:01 GMT
#141
I am assuming you are talking about ladder games, because the custom games in Warcraft 3 were little more than LAN games with the internal "fake latency" variable set to 250 and posted to the list of games on battle.net. You were able to request to join a game directly if you were to send the correct packets directly to the host.
space_yes
Profile Joined April 2010
United States548 Posts
April 27 2010 21:11 GMT
#142
On April 28 2010 01:13 R1CH wrote:
If it was true P2P like Brood War, that may be the case. But it's routed P2P, meaning all data travels through Blizzard's server first to overcome NAT and other issues. It's the same model used by War3.


Great.
Grhym
Profile Joined April 2010
177 Posts
April 27 2010 21:19 GMT
#143
I have nothing useful to add but I simply wanted to thank you for a great post.
あ
NuKedUFirst
Profile Blog Joined March 2010
Canada3139 Posts
April 27 2010 21:41 GMT
#144
On April 28 2010 06:11 space_yes wrote:
Show nested quote +
On April 28 2010 01:13 R1CH wrote:
If it was true P2P like Brood War, that may be the case. But it's routed P2P, meaning all data travels through Blizzard's server first to overcome NAT and other issues. It's the same model used by War3.


Great.


yay thats what i like to hear
FrostedMiniWeet wrote: I like winning because it validates all the bloody time I waste playing SC2.
NicolBolas
Profile Blog Joined March 2009
United States1388 Posts
April 28 2010 06:58 GMT
#145
On April 27 2010 08:07 R1CH wrote:
After some more research it appears SC2 is routed peer to peer rather than server based. Very disappointing .


Why is this disappointing? For a game that is primarily played 1v1, Peer-to-peer is the correct networking method. And for an RTS involving hundreds of units, it is virtually a necessity.

The FPS-style of client-server requires sending the state of the world (as each client sees it) to each client. For an FPS game, you may have, what, 60 entities in question? Most of these entities have only a type, a position, an orientation, and a velocity vector. Only character entities have more involved data (what weapon they're holding, etc).

In a StarCraft-style RTS, you can easily have hundreds of entities, and they're all doing something. If you try to optimize this by only sending what the client needs to see at any particular time, what happens when the client jumps from looking in their base (a static scene) and goes into a battle involving hundreds of Zerglings and so forth? You'd blow your packet size trying to send all that data in a short space of time.

Networking is just one of those systems that you have to design around worst-case. And for an RTS like StarCraft, P2P handles the worst case the best.

P2P is a much more reliable method for such circumstances. I can't say I like the "routed" bit, as that introduces "unnecessary" latency into the mix.

That still doesn't explain why Blizzard opted for TCP/IP instead of UDP/IP though.
So you know, cats are interesting. They are kind of like girls. If they come up and talk to you, it's great. But if you try to talk to them, it doesn't always go so well. - Shigeru Miyamoto
prOxi.swAMi
Profile Blog Joined November 2004
Australia3091 Posts
April 28 2010 07:04 GMT
#146
On April 27 2010 08:07 R1CH wrote:
After some more research it appears SC2 is routed peer to peer rather than server based. Very disappointing .

So how come I still get terribad latency when I play against other Australians? Is this latency forced by bnet to ensure 'smoother' play? Or do you think it's a result of their choice of TCP instead of UDP?
Oh no
DeCoup
Profile Joined September 2006
Australia1933 Posts
April 28 2010 07:18 GMT
#147
On April 28 2010 16:04 prOxi.swAMi wrote:
Show nested quote +
On April 27 2010 08:07 R1CH wrote:
After some more research it appears SC2 is routed peer to peer rather than server based. Very disappointing .

So how come I still get terribad latency when I play against other Australians? Is this latency forced by bnet to ensure 'smoother' play? Or do you think it's a result of their choice of TCP instead of UDP?

Both of those problems only effect people who live closer to the servers than us here in Australia.

The reason you are getting this lag is that even if you are playing against someone in the same house all the data is being send From you to your friend via the US b.net servers. The 250ms latency does not even come into play because unless you are using a proxy (which gets you to 200-350) you will have 300-750ms to the servers anyway (depending on your provider).
"Poor guy. I really did not deserve that win. So this is what it's like to play Protoss..." - IdrA
prOxi.swAMi
Profile Blog Joined November 2004
Australia3091 Posts
Last Edited: 2010-04-28 07:22:37
April 28 2010 07:20 GMT
#148
nvm i should've read further up.

But anyway, I hate how Blizzard had to do this to cater for noobs who can't configure their router. Hell, these days most ppl's routers are very easy to forward ports for games.
Oh no
givemefive
Profile Joined April 2010
United States300 Posts
April 28 2010 07:55 GMT
#149
well it makes things easier for people that don't even have access to networking devices like at universities, and it makes it a hell of a lot easier to play 2v2 with your roommate when you only have 1 IP
pheus
Profile Joined February 2010
Australia161 Posts
May 14 2010 14:33 GMT
#150
On April 28 2010 15:58 NicolBolas wrote:
Show nested quote +
On April 27 2010 08:07 R1CH wrote:
After some more research it appears SC2 is routed peer to peer rather than server based. Very disappointing .


Why is this disappointing? For a game that is primarily played 1v1, Peer-to-peer is the correct networking method. And for an RTS involving hundreds of units, it is virtually a necessity.


Blizzard's implementation is disappointing. I play 1v1 with my mate who lives about 15 minutes drive away and I still get 0.5 - 1s lag when issuing commands because the data has to go all the way to America and back
Speno
Profile Joined May 2010
Australia1 Post
May 24 2010 04:27 GMT
#151
You cannot argue that it would be too difficult to handle running dedicated servers for a non pay2play game.

Think of the infrastructure blizzard already has setup for wow, the amount of bandwidth and server farms currently setup for wow.

Then look at an 'independent' game developer selling a game for $30 once off,
S2 games overcome all these problems.

Eliminated map hacking completely (first rts engine I have seen do it, there were map hacks out early in beta, they tweaked netcode so only visible ents are sent).

Fixed random dropouts by allowing reconnections.

Only server lagging causes delays, not players.

No fixed worst case latency.

Replays are all stored on the S2 servers along with full game stats, and any GameID can be downloaded by anyone and viewed.


This routed p2p architecture is just plain old cheap, even though client server has been proven to be far superior even for RTS games, blizzard want to stick with old faithful because it’s what they know.

"The next limitation is that in order to ensure that the game plays out identically on all machines it is necessary to wait until all players’ commands for that turn are received before simulating that turn. This means that each player in the game has latency equal to the most lagged player." - Gaffer on Games

And TCP over UDP...

It simply comes down to the reliability layer,

TCP offers only one solution to lost / out of order packets, wait until we get packet 1 before we even show the receiver packet 2. This may seem like the best option, but in a continuous world simulation the newest packet of say positional data of a unit is the only thing that matters.

If the sender sends: [packet1: x:1 y:2 time: 1] [packet2 x:4 y:4 time 2]

And packet one gets lost in transmission, packet 2 gets received, do we care about packet one anymore?
No, packet 2 contains the most up to date information about position and therefore packet 1 can be discarded.

Under UDP packet 1 can be discarded, but TCP will hold back packet2 not allowing the receiving software to access it, while waiting for packet 1, it will send back the ACK for packet 2, the sender will realize packet 1 didn’t get to its destination, and resend it. Once the receiver gets packet 1, it will then feed the ordered packets to the receiving software. All the while the receiving client had more up to date information waiting for it, but tcp wouldn’t give it up.

This usually is not how constant changing information is transmitted however. To save data FPS engines usually send delta compressed frames (only sending how much each value has changed since the last acknowledged state),
But the principal is the same, the sender only delta compresses off the information it knows the receiver already has.

This all may seem like it wouldn't provide that much benefit, and blizzard knows what they are doing.

Why are we all here, because the SC2 netcode sucks.

Things like a custom reliability layer with NAT punch through on top of UDP, implementing delta state compression and client side prediction for and RTS engine with support for 100s of entities with complex state can be achieved by me, a hobby game developer with no game industry experience and nothing but access to
http://gafferongames.com/
And the open source version of the Q3 engine.

Why can’t blizzard, a multibillion dollar enterprise with 5k employees stop taking the lazy lockstep p2p approach and stop living in the early 90's

Carmack paved the way for good multiplayer games! His methods are freely accessible on the net.

qartar
Profile Joined June 2010
9 Posts
June 26 2010 19:43 GMT
#152
If you think Q3 had nice networking take a look at some of the stuff the D3 engine does. Most of the delta compression etc is visible in the game dll.

As far as map hacking, it shouldn't be difficult to simply encrypt the network data with a negotiated cypher (instead of a static cypher like what is used in their data files).

Oh hey this is a month old.
SichuanPanda
Profile Blog Joined March 2010
Canada1542 Posts
Last Edited: 2010-06-26 19:57:40
June 26 2010 19:56 GMT
#153
And just a note on port forwarding. Unlike what the OP implies it most certainly WILL affect your game-play as port forwarding has absolutely 100% 0, nothing, silch, nada, zip to do with connecting to another peer or to a server. Port forwarding has to do with what ports you're allowing your computer or network to have access to. In other words if SC2 requires port 6112 for example - like most Blizzard's games have then blocking that port will degrade performance. Once again it has NOTHING absolutely nothing to do with who you are connecting to, port forwarding is a local/client side issue and in no way can be affected by who you are connecting to, only what port you are connecting on. Other than that RICH's post was accurate and some really good info there for people who are interested.
i-bonjwa
Piski
Profile Blog Joined April 2010
Finland3461 Posts
June 26 2010 21:37 GMT
#154
I never even though about that latencly trick thanks r1ch. Too bad it's peer-to-peer, or nothing wrong with peer-to-peer but that the data travels through blizzard is kinda a bummer
NicolBolas
Profile Blog Joined March 2009
United States1388 Posts
June 26 2010 21:59 GMT
#155
This routed p2p architecture is just plain old cheap, even though client server has been proven to be far superior even for RTS games, blizzard want to stick with old faithful because it’s what they know.


Peer-2-peer unquestionably produces the best latency possible over the network. P2P isn't the problem; for a game that is primarily played 1v1, it is a great networking mechanism. The routing of the P2P networking is the problem.

Client/server may solve map-hacking, but at what cost? Sure, you can have reconnection, but that's not exactly useful for a StarCraft-style RTS is it?

P2P is the right networking model for SC2. It simply is not well-implemented, in part due to the routing.

Things like a custom reliability layer with NAT punch through on top of UDP, implementing delta state compression and client side prediction for and RTS engine with support for 100s of entities with complex state can be achieved by me, a hobby game developer with no game industry experience and nothing but access to
http://gafferongames.com/
And the open source version of the Q3 engine.


Really? Prove it. Prove that you won't have to break one packet into more than one simply by Com-Scanning a 50+ Zergling army, thus inducing terrible latency. Prove that even in degenerate cases, in the worst-case scenarios, that you will not get latency problems.

P2P is, pound-for-pound, as consistent as it gets. Consistency, even if it's consistently 150ms, is still better than inconsistency for a competitive RTS game.
So you know, cats are interesting. They are kind of like girls. If they come up and talk to you, it's great. But if you try to talk to them, it doesn't always go so well. - Shigeru Miyamoto
snpnx
Profile Joined February 2010
Germany454 Posts
June 26 2010 22:19 GMT
#156
On May 24 2010 13:27 Speno wrote:
Why are we all here, because the SC2 netcode sucks.

Things like a custom reliability layer with NAT punch through on top of UDP, implementing delta state compression and client side prediction for and RTS engine with support for 100s of entities with complex state can be achieved by me, a hobby game developer with no game industry experience and nothing but access to
http://gafferongames.com/
And the open source version of the Q3 engine.

Why can’t blizzard, a multibillion dollar enterprise with 5k employees stop taking the lazy lockstep p2p approach and stop living in the early 90's

Carmack paved the way for good multiplayer games! His methods are freely accessible on the net.


I do think implementing this in UDP is much more difficult than it would seem to you right now. Remember that you have to be able to scale up to a 4v4 FFA. I seriously doubt that it would be "easily" implementable under such conditions. Also as Rich it was already mentioned, don't forget "unpredictable actions like scans. I simply doubt that it is easily achievable do do these transfers without notable latency variations, especially given 4v4 games.

As for P2P vs C/S, routed P2P is pretty much the same as C/S for us SC2 players. We get no real benefits which are normally associated with P2P (fast transmissions without going over server), latency wise, and Blizzard keeps all strings in hand, control-wise. I do hope that they choose this design not only to counter piracy but also to be able to detect hacking better.
"Language is Freeware, in that it's free to use, but it's not Open Source, so you can't just change things how you like."
One.two
Profile Joined April 2010
Canada116 Posts
June 26 2010 22:24 GMT
#157
Lol this is so out of date... why did someone bump it months later... didn't Blizz even switch it to UDP now.
SC2 Editor tutorials: http://www.youtube.com/onetwosc
Piski
Profile Blog Joined April 2010
Finland3461 Posts
June 26 2010 22:29 GMT
#158
On June 27 2010 07:24 One.two wrote:
Lol this is so out of date... why did someone bump it months later... didn't Blizz even switch it to UDP now.


Yea this is few months old thread so dont know why someone bumped it up but I guess the theory still holds, even as now its udp.
StalinRusH
Profile Blog Joined April 2007
United States734 Posts
June 26 2010 23:22 GMT
#159
wait....does this mean i wont be able to play sc2 on dialup???!?!?
A Combination Of Tuberculosis And A Tomahawk To The Head:: Nothing Bonds Drunken Idiots Like Sexual Innuendos ::
ataryens
Profile Joined June 2010
Iran213 Posts
July 09 2010 15:44 GMT
#160
Hello,
I'm at work (which happens to be a University) and I can't play due to lag. I can enter battle.net super fast but after that everything is slow and playing a game is impossible. (it worked very well in phase 1) Is there something new this patch or did my work somehow semi-block the game.
Thanks for your help.

Other info: I have tried under LAN and wireless (different networks with some similar settings and some different. For example I know P2P is blocked and I couldn't download patches here in phase 1.
Prev 1 6 7 8 9 Next All
Please log in or register to reply.
Live Events Refresh
Replay Cast
00:00
2026 GSTL: Main Stage Day 5
CranKy Ducklings132
Discussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 150
ProTech37
StarCraft: Brood War
Rain 2423
GuemChi 1633
Hm[arnc] 32
Noble 16
Terrorterran 14
Dota 2
monkeys_forever411
NeuroSwarm188
LuMiX1
Counter-Strike
Coldzera 1283
taco 354
minikerr35
Super Smash Bros
hungrybox1099
Other Games
summit1g8079
JimRising 540
C9.Mang0191
Maynarde99
Trikslyr38
trigger3
[ Show 11 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• masondota22040
League of Legends
• Scarra587
• Lourlo153
Upcoming Events
The PondCast
7h 53m
KCM Race Survival
7h 53m
OSC
20h 23m
Escore
1d 7h
IntoTheTV X SOOP
1d 8h
CranKy Ducklings
2 days
Sparkling Tuna Cup
3 days
Shopify Rebellion Sundays
3 days
Spirit vs Mixu
Clem vs TBD
RSL Revival
3 days
Serral vs Rogue
BlizzCon
3 days
[ Show More ]
Replay Cast
3 days
Afreeca Starleague
4 days
WardiTV Weekly
4 days
Afreeca Starleague
5 days
GSL
5 days
PiGosaur Cup
5 days
The PondCast
6 days
Kung Fu Cup
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-09-08
PiG Sty Festival 8.0
Big Dog Cup 2026 Div 1

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
ASL Season 22
Super Anchor Qualifying S3
CSL 2026 AUTUMN (S22)
Acropolis #5
Acropolis #5 - TRS
RSL Revival: Season 6
Calamity Invitational
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026

Upcoming

Escore Tournament S3: King of Kings
Acropolis #5 - GSA
Blizzard Classic Cup 2026
Acropolis #5 - GSB
Acropolis #5 - GSC
SC4ALL II: Brood War
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Blizzard Classic Cup 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.