Anonymous | Login | Signup for a new account | 2024-04-25 11:53 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 | ||||
0003045 | Zandronum | [All Projects] Suggestion | public | 2017-03-28 09:44 | 2017-04-16 13:09 | ||||
Reporter | Fused | ||||||||
Assigned To | |||||||||
Priority | high | Severity | feature | Reproducibility | N/A | ||||
Status | closed | Resolution | denied | ||||||
Platform | OS | OS Version | |||||||
Product Version | 3.0-beta | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0003045: (named) RequestScriptPuke improvements | ||||||||
Description | This feature is pretty underused, but for what it's being used for, it can be really tedious to use because of two things. - Have the function check properly if it worked at all. There's a chance your connection may stutter when this exact packet is being send, causing the request to never be received. The current return value is useless anyway because the game will log everyone the requested script is not NET anyway. - Remove the NET requirement in general. This probably exists because you can modify clientsided scripts in skins for some reason, but at the very least give it its own tag or something. I can't secure these scripts myself most of the time, and it just makes it worse when you keep your code open source. | ||||||||
Attached Files | |||||||||
Notes | |
(0017062) Dusk (developer) 2017-03-28 10:06 |
You don't seem to understand. The function involves a client requesting a script call on the server, exactly what `puke` does.Quote All client to server traffic can be lost, this includes chat messages, attack buttons (which causes dropped shots)... and puke calls. Quote Absolutely not! The 'Puke' is in the name for a reason. The function does what the 'puke' console command does. So whatever RequestScriptPuke can call, the 'puke' console command can as well. So if the NET requirement was dropped "for RequestScriptPuke", it would also be dropped for the 'puke' command and that wouldn't be very great. |
(0017063) Fused (reporter) 2017-03-28 10:14 edited on: 2017-03-28 10:16 |
Quote That's not as bad as having your whole mod desync because one script needs this function and it happends to mess up at this moment. It seems like this function purely exists as a sign of 'we can do this in our game', but not as much for 'you can actually use it in your mod', because of the flaws, which sucks because it's super useful if done right. Quote So does this mean the function is partially using puke to achieve what it does? Why? Why not make it a seperate function and have it check for a 'REQUESTABLE' tag or something? It's possible with puke obviously, so this shouldbe possible too |
(0017064) Dusk (developer) 2017-03-28 13:57 |
Quote Sure but it'd require large rewrites on the netcode side to make it possible. For the function itself it is not possible. Quote It is not just partially using puke, it is specifically using it. The server cannot differentiate between consolecommand puke calls and ACS puke calls. If you try to differentiate it with a "REQUESTABLE" tag, a modified client could call those with the console anyway. The server only sees script call requests. It cannot tell where they originated from. |
(0017153) Korshun (reporter) 2017-04-16 12:58 edited on: 2017-04-16 13:07 |
Making RequestScriptPuke return actual success or failure will make it wait some milliseconds. Currently, RequestScriptPuke is instant and can't be modified without breaking mods. If this is implemented, it should use a separate set of functions, like ReliablePuke(Named). Modders can implement a system that replicates reliable puke: while (!ScriptHasBeenRun()) { RequestScriptPuke(serversidescript, 0, 0, 0); Delay(10); } With serverside protection against double puke. But ReliablePuke would be easier to use. Actually, this would be implementable as an ACS library. But it would be a lot more efficient if'http://zandronum.com/tracker/view.php?id=2751 [^]' was implemented. And it would be nicer if custom latent functions were allowed. |
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. |
Issue History | |||
Date Modified | Username | Field | Change |
2017-03-28 09:44 | Fused | New Issue | |
2017-03-28 10:06 | Dusk | Note Added: 0017062 | |
2017-03-28 10:06 | Dusk | Status | new => closed |
2017-03-28 10:06 | Dusk | Resolution | open => denied |
2017-03-28 10:14 | Fused | Note Added: 0017063 | |
2017-03-28 10:14 | Fused | Status | closed => feedback |
2017-03-28 10:14 | Fused | Resolution | denied => reopened |
2017-03-28 10:15 | Fused | Note Edited: 0017063 | View Revisions |
2017-03-28 10:16 | Fused | Note Edited: 0017063 | View Revisions |
2017-03-28 13:57 | Dusk | Note Added: 0017064 | |
2017-04-16 12:58 | Korshun | Note Added: 0017153 | |
2017-04-16 13:00 | Korshun | Note Edited: 0017153 | View Revisions |
2017-04-16 13:01 | Korshun | Note Edited: 0017153 | View Revisions |
2017-04-16 13:03 | Korshun | Note Edited: 0017153 | View Revisions |
2017-04-16 13:07 | Korshun | Note Edited: 0017153 | View Revisions |
2017-04-16 13:09 | Dusk | Status | feedback => closed |
2017-04-16 13:09 | Dusk | Resolution | reopened => denied |
Copyright © 2000 - 2024 MantisBT Team |