Anonymous | Login | Signup for a new account | 2025-07-28 11:16 UTC | ![]() |
My View | View Issues | Change Log | Roadmap | Zandronum Issue Support Ranking | Rules | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0000166 | Zandronum | [All Projects] Bug | public | 2010-11-03 07:08 | 2018-09-30 20:08 | ||||
Reporter | unknownna | ||||||||
Assigned To | Torr Samaho | ||||||||
Priority | high | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 98d | ||||||||
Target Version | Fixed in Version | 1.0 | |||||||
Summary | 0000166: [98d] MAPINFO "aircontrol" value causes extreme misprediction of player movement in air online | ||||||||
Description | I noticed this in a "Megaman 8-Bit Deathmatch" server. The "gravity" and "aircontrol" values set in the MAPINFO lump is not reflected on the server/clients. The gravity is synced though, but the aircontrol is not. In the worst case, the maps become unplayable online when you have a high ping. | ||||||||
Steps To Reproduce | Test the example WAD on a local server with an emulated ping of approximately 300ms+. | ||||||||
Additional Information | Seems to work properly in 98c. | ||||||||
Attached Files | ![]() ![]() | ||||||||
![]() |
|
Torr Samaho (administrator) 2010-11-06 20:59 |
Please test if this fixes the issue. |
unknownna (updater) 2010-11-07 02:54 |
Well, it definitely took care of the misprediction of the player movement. However, The air control and gravity values set in the MAPINFO lump are reflected on the client, but not in the server console. And if you through the server console change the "sv_aircontrol" value to; e.g., 0.3, it'll be reflected as 0.299988 on the client. It's not like this in 98d-3016. Another issue is; changes in the gravity factor locally through ACS, i.e., "SetActorProperty APROP_Gravity". The prediction becomes incorrect and shaky. I noticed this in a MM8BDM map called "MM1ICE". If I am correct, the gravity factor is altered whenever you fall into, or leave a "deep water" sector. |
Torr Samaho (administrator) 2010-11-07 07:42 |
> However, The air control and gravity values set in the MAPINFO lump are reflected on the client, but not in the server console. That's a side effect of the way I use to synchronize the values. In ZDoom, the sv_aircontrol/sv_gravity value is only used if it has been altered since the level was started. Before the values are altered, the corresponding values from mapinfo are used. In order to synchronize the behavior the server doesn't send the value of sv_aircontrol/sv_gravity but the actual value that is currently used. > And if you through the server console change the "sv_aircontrol" value to; e.g., 0.3, it'll be reflected as 0.299988 on the client. It's not like this in 98d-3016. That's a small rounding issue because sv_aircontrol is a float while level.aircontrol is an integer. > changes in the gravity factor locally through ACS, i.e., "SetActorProperty APROP_Gravity". The prediction becomes incorrect and shaky. From a quick look at the code I'd say that the ACS functions SETACTORPROPERTY (Gravity), SETGRAVITY, SETGRAVITYDIRECT, SETAIRCONTROL and SETAIRCONTROLDIRECT are not adapted to the c/s architecture yet and never worked properly online before. Can you make an example wad that uses these function so that I can test the necessary fixes? |
unknownna (updater) 2010-11-07 09:19 |
Made the example WAD. Doom Builder wouldn't let me compile the ACS scripts with SETGRAVITYDIRECT and SETAIRCONTROLDIRECT. And I couldn't find any information about them in the ZDoom wiki either. |
Torr Samaho (administrator) 2011-02-06 20:47 |
This should fix the ACS commands. |
unknownna (updater) 2011-02-07 07:12 edited on: 2011-02-07 08:27 |
Yes, it fixed the issues. But would it be possible to clear the effects from players turning into spectators? Some functions that aren't cleared (might be more): SetGravity SetAirControl SetActorProperty APROP_Speed SetGravity and SetAirControl probably affects all players, so I suppose it's not an issue, but the APROP_* (only tested APROP_Speed) properties are still in effect when you turn into a spectator. EDIT: There's still a lot of misprediction going on in the "MM1ICE" map when playing with a ping of around 300ms. It happens when you hold jump. But I think this is due to the combination of the DECORATE and ACS code working together. When you fall into a sector, a script gives you an inventory item, which then calls another script that alters the APROP_Gravity setting. This seems to be a natural consequence of the delay between the client / server. |
Torr Samaho (administrator) 2011-03-27 15:51 |
This should reset all relevant spectator properties you can set with SetActorProperty (this are only Speed and Gravity, the others shouldn't have any effect an spectators anyway). > SetGravity and SetAirControl probably affects all players, so I suppose it's not an issue I think so too. > This seems to be a natural consequence of the delay between the client / server. Yeah, sounds natural. So all bugs reported in this ticket should be fixed by now, right? |
unknownna (updater) 2011-03-27 16:34 |
> This should reset all relevant spectator properties you can set with SetActorProperty (this are only Speed and Gravity, the others shouldn't have any effect an spectators anyway). Alright, it seems to be working as intended. > SetGravity and SetAirControl probably affects all players, so I suppose it's not an issue > I think so too. Well, I do think that spectators should be unaffected by global map-effects if possible. From testing, it doesn't seem like they're noticeably affected by the global aircontrol/gravity, but I'm not completely sure about this. > So all bugs reported in this ticket should be fixed by now, right? Other than the possible SetGravity/SetAirControl issue, yes, I think so. |
Torr Samaho (administrator) 2011-03-27 16:54 |
> Well, I do think that spectators should be unaffected by global map-effects if possible. From testing, it doesn't seem like they're noticeably affected by the global aircontrol/gravity, but I'm not completely sure about this. I'm relatively sure that spectators are unaffected by gravity (most likely resetting their gravity property was not necessary but it also didn't hurt) and also think that they are unaffected by the aircontrol value. If you don't observe noticeably different spectator behavior when SetGravity and/or SetAirControl are used, we should just assume that they are unaffected. |
unknownna (updater) 2011-03-27 17:08 |
Indeed, you may mark this as resolved. |
This issue is already marked as resolved. If you feel that is not the case, please reopen it and explain why. |
|
Supporters: | No one explicitly supports this issue yet. |
Opponents: | No one explicitly opposes this issue yet. |
![]() |
|||
Date Modified | Username | Field | Change |
2010-11-03 07:08 | unknownna | New Issue | |
2010-11-03 07:08 | unknownna | File Added: mapinfo_aircontrol_desync_test.wad | |
2010-11-06 20:59 | Torr Samaho | Note Added: 0000560 | |
2010-11-06 20:59 | Torr Samaho | Assigned To | => Torr Samaho |
2010-11-06 20:59 | Torr Samaho | Status | new => feedback |
2010-11-07 02:54 | unknownna | Note Added: 0000566 | |
2010-11-07 02:54 | unknownna | Status | feedback => assigned |
2010-11-07 07:42 | Torr Samaho | Note Added: 0000569 | |
2010-11-07 07:42 | Torr Samaho | Status | assigned => feedback |
2010-11-07 09:15 | unknownna | File Added: aircontrol_gravity_test.wad | |
2010-11-07 09:19 | unknownna | Note Added: 0000570 | |
2010-11-07 09:19 | unknownna | Status | feedback => assigned |
2011-02-06 20:47 | Torr Samaho | Note Added: 0000989 | |
2011-02-06 20:47 | Torr Samaho | Status | assigned => feedback |
2011-02-07 07:12 | unknownna | Note Added: 0001003 | |
2011-02-07 07:12 | unknownna | Status | feedback => assigned |
2011-02-07 07:54 | unknownna | Note Edited: 0001003 | View Revisions |
2011-02-07 08:22 | unknownna | Note Edited: 0001003 | View Revisions |
2011-02-07 08:25 | unknownna | Note Edited: 0001003 | View Revisions |
2011-02-07 08:27 | unknownna | Note Edited: 0001003 | View Revisions |
2011-03-27 15:51 | Torr Samaho | Note Added: 0001197 | |
2011-03-27 15:56 | Torr Samaho | Status | assigned => feedback |
2011-03-27 16:34 | unknownna | Note Added: 0001199 | |
2011-03-27 16:34 | unknownna | Status | feedback => assigned |
2011-03-27 16:54 | Torr Samaho | Note Added: 0001201 | |
2011-03-27 16:56 | Torr Samaho | Status | assigned => feedback |
2011-03-27 17:08 | unknownna | Note Added: 0001202 | |
2011-03-27 17:08 | unknownna | Status | feedback => assigned |
2011-03-27 17:16 | Torr Samaho | Status | assigned => resolved |
2011-03-27 17:16 | Torr Samaho | Fixed in Version | => 1.0 |
2011-03-27 17:16 | Torr Samaho | Resolution | open => fixed |
2011-03-27 17:27 | Torr Samaho | Product Version | => 98d |
2012-06-09 13:22 | Torr Samaho | Category | General => Bug |
2018-09-30 20:08 | Blzut3 | Status | resolved => closed |
Copyright © 2000 - 2025 MantisBT Team |