Ok folks. Here is almost final result of our work. We are aware 99% of you thinks of us as some kind of scammers but I really don’t know what we have gained with all this. If you do please let us know. Anyway, that is discussion for noobs who don’t know the difference between patata, krumpir or krtola.
Didn’t have the time lately to do stuff, because there are tons of projects to be worked on + RL. But my teammates made excellent work on StarEMU. But I promised a video today so here is a game I played yesterday. It is Zerg vs Protoss and I am playing myself vs myself in one room (PC and Laptop connected via Ethernet) so everything is slow because I am building on both sides so when you see my cursor standing still it means I am building drones, 3 gateways and a dozen zealots. But I am mainly playing Zerg. But since this is only a demonstration I don’t really care what is the battle. I just wanted to show that there is 90% less lag than last time and 90% more stability. There are known bugs of course and we are working on them. With RC2 who will be out by saturday we will get full blown 1v1 and 2v2 battles with even better overall performance. Then expect tons of videos and other proofs like screenshots of people playing in the room, video of people playing, etc. Final version will come out after SC2 makes it out. We need to verify and test the software but as I saw from SC2 code, it won’t take long.
My computer sucks so FRAPS-ing is horrible. I did my best for the video to be best quality and still manages to YouTube.
Now for some Technical Details about how it works.
0. First, you all remember the primal concept on how it works. It was explained on forums 100 times. What I want now is to tell you something how LAN Emulation in RC1 works.
1. When I click “Send Data” and you get a pop up message “Data Sent”, Data is NOT sent YET. It is sending during the server configuration when I press “CONFIGURE SERVER”. When I press that, synchronization between Server and Client is done. After that “GameState” is LOCKED and both are in “perfect” sync. Well, it’s not perfect, we are still working on it. But you get the idea. While configuring, Server Data is sent to Client and Client synchronizes with Server. This is done to reduce LAG and improve performance. Still needs to be worked on as you will see some lag in video.
2. Why are there 4 connections? Simple, 3 for Game Clients and fourth for the Spectator/Referee for 2v2. This is not yet functional.
3. AI is DISABLED in RC1 and will be in all future builds. Will be removed… No point in it really. This is LAN software, not AI fight.
EDIT: Some people have expressed desire for AI to be enabled. We will look into it. Problem is high incompatibility.
4. SERVER OPTIONS dialog speaks for itself. It has lot of options and 70% of them work. Some still need fixing and some need to be done, but that is not really important since those options are not critical.
5. PLUGINS are DISABLED for now. There will be some nice goodies that are planned for this. More info later.
6. ANTI-Blizzard contains touchy stuff and that’s why I didn’t open it in the video. I preconfigured it before I started recording. It contains the options for DLL Injection, Random Offsets Patching, Internal functions, Deny access to Battle.net, Security features and many other things that in fact ENABLE LAN play. This is the main Option component. Rest is just configuration.
7. When I Launched the game you saw a pop up with Random Offset and DLL Injection + usage of different rewritten DLL. After that, that DLL disabled Battle.net communication with SC2 and took over functions from Battle.net.dll. It also patched SC2.exe and some other files to start SC2 on Client computer. It is crazy stuff inside.
8. Client ALWAYS must leave the game first or else his computer will freeze.
9. There is no score screen because it is a Battle.net component and Battle.net is disabled. I wish it had. Maybe we will find a way to enable it.
10. Comments are always welcome. Even flame, we don’t care.