The source of the released game is available, so it should be possible to check, except that it's a huge mess (check out BUILD.C).[1]
Seems weird that no-one has actually verified this when it could be the first game ever doing CSP. The only other sites I can find mentioning it are just quoting your linked Wikipedia page.
Because of the unique challenges, they did a lot of synchronized client-side simulation (based on minimal state transfer over the net).
... and apparently encountered a lot of the issues with doing that (no random anything!!!).
Gives you really low bandwidth reqs (and randomness is still possible assuming you just seed things the same on all machines).
But also means you might have to wait 50-200ms (or some arbitrary sliding window depending on network conditions) until your click actually registers ingame as a move as commands are scheduled to be processed far enough in the future (some number of command turns in the future) that you at that point would have received every other players commands for that given turn and thus be able to execute all commands for all players locally for that turn, which is not ideal if you're playing a twitchy shooter, but alright if it's an RTS.
In fact, in some ways Build had even managed to scoop Quake, according to Ken: "People may point out that Quake's networking code was better due to its drop-in networking support, but it did not support client side prediction in the beginning," he explains. "That's something I had come up with first and first implemented in the January 1996 release of Duke 3D shareware. It kind of pisses me off that the Wikipedia article on 'client side prediction' gives credit to Quakeworld due to a lack of credible citations about Duke 3D."
domovethings()
fakedomovethingscorrect()
fakedomovethings()
getpackets()