New Build (2011-07-11) - Network Fun (Updated Update!)

Moderators: GSH, Ultraken

Post Reply
User avatar
Ultraken
Patch Creator
Posts: 373
Joined: Fri Feb 18, 2011 6:06 pm
Contact:

New Build (2011-07-11) - Network Fun (Updated Update!)

Post by Ultraken »

"Hey Rocky! Watch me pull a build out of my hat!"
"Again? But that trick never works."
"This time for sure!"

This is the exact same build as I tried to post last night, but packaged correctly and with a new build date to avoid confusion. It's a direct replacement for the 2011-07-10 morning build, the first of which was catastrophically broken in MP strat. It includes the same fixes (hence the similar "What's New") along with some new ones. In particular, it includes fixes for the no-credit bug, sniper status overlap bug, and single-player missions not ending.

Like the previous build, this one sends object state updates across the network more efficiently, allowing the same number of updates at lower bandwidth settings or more updates at the same bandwidth setting. The level of improvement depends on the number of objects getting sent but with compression enabled can be as high as doubling the update rate. One object has essentially no reduction and two have very little, but things improve rapidly after that as packet unification and data compression kick in. Deathmatch gets little to no improvement but Strategy gets big improvements almost immediately.

The big change is that compression is now controlled by UseCompression in net.ini and disabled by default. I revised the code in an attempt to fix the crash in MP strat, but this is the safest course until I'm confident that everything is working properly.

For players on dial-up, try setting the maximum bandwidth down to 3000 or even 2500 since the operating system can add significant traffic on its own even when seemingly idle. That should reduce those skyrocketing ping times caused by data packets piling up in the queue.


Downloads:

Testing Executable and Symbols
Game Assets (no changes since 2011-05-19)


What's new:

* Fixed status display getting overdrawn by the sniper rifle in widescreen resolution

* Fixed script-spawned units getting stuck inside the Recycler or Factory
- Offset position when spawned from a vehicle or building
- Allow units to ignore collision in Stuck state so they can escape bad situations
- This should fix some missions that wouldn't end

* Fixed ordnance ownership after entering a vehicle created on another machine
- The most common case was sniping another player out of their vehicle and entering it
- This involved surprisingly extensive changes to Ordnance and DistributedObject...

* Send all object state updates in unified packets
- It previously sent one unified packet and then a bunch of single-object packets
- This cuts out packet overhead from UDP (8 bytes), Anet (6 bytes), and the game (6 bytes)

* Object state packets support optional data compression
- This saves as much as 40% for nearly-full packets
- This cuts out even more overhead since more object state fits into one packet :)
- Control with UseCompression in net.ini (0 for off, 1 for on)
- Disabled by default until I can resolve stability issues...

* Shell and in-game chat have their own settings for system messages
- Shell turns them off by default
- In-game turns them on by default

* Net game lobby shows the build date and check crc above the chat window
- I'll probably remove this after final release

* Seismic wave limits time step like it did in 1.4
SnakeEye
Rattler
Posts: 93
Joined: Sun Feb 20, 2011 1:05 pm
Location: Åhus, Sweden
Contact:

Re: New Build (2011-07-11) - Network Fun (Updated Update!)

Post by SnakeEye »

Sync off Strat on Z Snowed In (multst11.bzn). The game crashed after about 7 min after i had joined. I cant remember that i did something abnormal before i crashed.

source_dx9\obj76\bspobj.c

Unhandled exception at 0x004d3066 in bzint_d3d9.exe: 0xC0000090: Floating-point invalid operation.
> bzint_d3d9.exe!Make_Poly(_OBJ76 * Obj76=0x087beca0, FACE * Face=0x02e83c90, MAT_3D * Matrix=0x0018f6a4, float * Luminance=0x032e0360) Line 489 + 0x2 bytes C
bzint_d3d9.exe!Add_Polygons_to_Tree(_OBJ76 * Obj76=0x087beca0, MAT_3D * World_Mat=0x0018f748, CAMERA * Camera=0x00000000) Line 552 + 0x1a bytes C
bzint_d3d9.exe!Recursive_Build_Display_List(_OBJ76 * Obj76=0x087beca0, MAT_3D * Parent_Mat=0x0018f7e4) Line 575 + 0x10 bytes C
bzint_d3d9.exe!Recursive_Build_Display_List(_OBJ76 * Obj76=0x088b5080, MAT_3D * Parent_Mat=0x0018f880) Line 579 + 0x14 bytes C
bzint_d3d9.exe!Recursive_Build_Display_List(_OBJ76 * Obj76=0x087beab0, MAT_3D * Parent_Mat=0x087be9d8) Line 579 + 0x14 bytes C
bzint_d3d9.exe!Render_BuildNewBSP_Entity(SORTING_LIST_ENTITY * Entity=0x00b8ac08, CAMERA * Camera=0x005c7d58) Line 758 + 0x12 bytes C
bzint_d3d9.exe!Render_CachedBSP_Entity(SORTING_LIST_ENTITY * Sort_Entity=0x097fa868, CAMERA * Camera=0x005c7d58) Line 1077 + 0x9 bytes C
bzint_d3d9.exe!Render_Compound_Entity(_ZSORTING * Object=0x097fa84c, CAMERA * Camera=0x005c7d58) Line 149 + 0x5 bytes C
bzint_d3d9.exe!ZSORTDrawModels(CAMERA * camera=0x005c7d58, int Clear=0x0050ecc7) Line 506 + 0xb bytes C
bzint_d3d9.exe!ZSORTDraw(CAMERA * camera=0x005c7d58, int Clear=0x00000001) Line 529 + 0x6 bytes C
bzint_d3d9.exe!Render_Hardware_Next_Frame(CAMERA * Camera=0x00000000) Line 321 C
bzint_d3d9.exe!Render_Next_Frame(CAMERA * Camera=0x005c7d58) Line 150 + 0x17 bytes C
bzint_d3d9.exe!DoFrame() Line 731 + 0xa bytes C
bzint_d3d9.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpszCmdParam=0x00f131c0, int nCmdShow=0x0000000a) Line 1637 C
bzint_d3d9.exe!__tmainCRTStartup() Line 578 + 0x1d bytes C
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes
WM_KILLFOCUS: hWnd(60d70) wParam(60da4) lParam(0)
WM_ACTIVATE: hWnd(60d70) wParam(0) lParam(0)
WM_ACTIVATEAPP: hWnd(60d70) wParam(0) lParam(9d4)
WM_ACTIVATEAPP: hWnd(60d70) wParam(1) lParam(0)
WM_ACTIVATE: hWnd(60d70) wParam(2) lParam(0)
Mode: 16
Reset: device reset succeeded
WM_SETFOCUS: hWnd(60d70) wParam(0) lParam(0)
The thread 'Win32 Thread' (0x1494) has exited with code 0 (0x0).
repaired geom "smu11bda" normal 0
repaired geom "smu11bda" normal 1
repaired geom "smu11bda" normal 2
repaired geom "smu11bda" normal 3
repaired geom "smu11bda" normal 4
repaired geom "smu11bda" normal 5
repaired geom "smu11bda" normal 6
repaired geom "smu11bda" normal 7
repaired geom "smu11bda" normal 8
repaired geom "smu11bda" normal 9
repaired geom "smu11bda" normal 10
repaired geom "smu11bda" normal 11
Mode: 0
Reset: device reset succeeded
WM_KILLFOCUS: hWnd(60d70) wParam(e0b92) lParam(0)
WM_ACTIVATE: hWnd(60d70) wParam(0) lParam(0)
WM_ACTIVATEAPP: hWnd(60d70) wParam(0) lParam(9d4)
WM_ACTIVATEAPP: hWnd(60d70) wParam(1) lParam(0)
WM_ACTIVATE: hWnd(60d70) wParam(2) lParam(0)
Mode: 16
Reset: device reset succeeded
WM_SETFOCUS: hWnd(60d70) wParam(0) lParam(0)
The thread 'Win32 Thread' (0x55c) has exited with code 0 (0x0).
First-chance exception at 0x004d3066 in bzint_d3d9.exe: 0xC0000090: Floating-point invalid operation.
Unhandled exception at 0x004d3066 in bzint_d3d9.exe: 0xC0000090: Floating-point invalid operation.


After i had played a few strat games online I hosted a strat game on Asphodel (nbAchil2.bzn) in LAN with default settings.
When i pressd launch the game crashed. i think i have reported a similar crash on bz1.org.

source_dx9\fun3d\teamslots.cpp

Unhandled exception at 0x0049dcc7 in bzint_d3d9.exe: 0xC0000005: Access violation reading location 0x08433860.
> bzint_d3d9.exe!Team::FriendP(int team=0x00000001) Line 299 + 0xd bytes C++
bzint_d3d9.exe!Scores_UpdateScores() Line 613 C++
bzint_d3d9.exe!Net::Execute() Line 756 C++
bzint_d3d9.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpszCmdParam=0x00fa315f, int nCmdShow=0x00000001) Line 1411 + 0x5 bytes C
bzint_d3d9.exe!__tmainCRTStartup() Line 578 + 0x1d bytes C
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes


The thread 'Win32 Thread' (0x1a04) has exited with code 1 (0x1).
'bzint_d3d9.exe': Unloaded 'C:\Windows\SysWOW64\ir50_32.dll'
'bzint_d3d9.exe': Unloaded 'C:\Windows\SysWOW64\dciman32.dll'
The thread 'Win32 Thread' (0x16a0) has exited with code 0 (0x0).
Mode: 0
WM_SETFOCUS: hWnd(2b07be) wParam(0) lParam(0)
repaired geom "ghorn00" normal 13
repaired geom "ghorn00" normal 12
repaired geom "ghorn00" normal 10
repaired geom "ghorn00" normal 11
repaired geom "ghorn00" normal 4
repaired geom "ghorn00" normal 3
First-chance exception at 0x0049dcc7 in bzint_d3d9.exe: 0xC0000005: Access violation reading location 0x08433860.
Unhandled exception at 0x0049dcc7 in bzint_d3d9.exe: 0xC0000005: Access violation reading location 0x08433860.

In many maps with almost 90 degrees cliffs

vehicles tend to turn around corners too close to the cliff so they often get stuck like in the picture below. and after around 15 sec they back off and drive straight in the cliff again.

Image



during an online strategy game on corner pocket i was able to drive through my bomber.

http://www.youtube.com/watch?v=PJUPxgijLno
User avatar
Ultraken
Patch Creator
Posts: 373
Joined: Fri Feb 18, 2011 6:06 pm
Contact:

Re: New Build (2011-07-11) - Network Fun (Updated Update!)

Post by Ultraken »

I'll take a look at these this week.
Post Reply