Early in the month, after I got prediction working, we did a quick playtest to make sure multiplayer was working. It was technically working for the most part but there were a few obvious bugs.
Error Models
attribute 'contenteditable' not allowedattribute 'blocktype' not allowed
A lot of the models were errors because the client couldn't find the real models. This is because the models are networked as ResourceID's - which are hashes of the filename and filetype. The client only has the ResourceID if the resource is loaded.
I found a bunch of network precache code in the engine but it wasn't hooked up to anything, so I deleted it all and implemented it in C#.
This should be nothing that a programmer has to worry about. When you set an entity's model it'll add it to the precache network string table automatically, which'll obviously get networked to the client, allowing them to work out what model it is.
Cheats
People were able to use cheats. Specifically Layla was noclipping about and spawning bots. I tried to fix this a couple of times and failed, so ended up rewriting most of the console command system.
We really had two console systems. When we were running under Unreal Engine I'd made our own console system which was the only console system we used. It pretty much mirrored the way the source console system worked.
Now we're on Source 2 it makes less sense. We still want to be able to make console commands and console variables, but the only actual console system should be the native one. So that's how it works now.
Entity Offset
attribute 'contenteditable' not allowedattribute 'blocktype' not allowed
We've had a bug for a while where the client entity is offset from the server entity. You can see this in the above image.. the green wireframes the server physics. The silver bin is all the way down the end of the map on the server, but the client version is right there.
This is unsolved as of right now, pending investigation.