Jump to content

smiley

WFG Programming Team
  • Posts

    353
  • Joined

  • Days Won

    2

Everything posted by smiley

  1. Impossible as in too much work for someone to do for free. The entire simstate need not be shared every turn. In abstract terms, the simstate will be continuously patched. Rather than the simstate being modified after each client execute the commands locally. The server will execute the commands and tell clients how to change the sim state.
  2. Change the engine to be fully client-server and not lockstep. That might just be impossible at this point. There is no such thing as illegal information. The solution is to not give information people aren't meant to read. An added bonus, bad connections would no longer lag the game for everyone else.
  3. Everyone launched it and everyone pretty much failed. It's gonna take a while still.
  4. Actually, costs are evidently `NonNegativeInteger` so the assumption was actually wrong.
  5. I didn't suggest wireshark to find the attacker, but to find the methodology so you can have appropriate defences in your router. Feel free to do what you think is right. I don't stand to gain anything here.
  6. Your ISP will never call, because they have no clue this is even happening. Their threshold will be set a lot higher. The game logs doesn't really help. You can either run wireshark and find out what traffic is, where it's coming from, and null route it on your router or you can request a new public IP and never host a game on the lobby. The former will fix it regardless of whether it's a DoS attack or not. And I think your router is an EdgeRouter. Maybe enable logging, but given that its already dying, that might not be the best idea. I mean it could be a SYN flood, an ICMP flood, a UDP flood (this might be the case because of how much traffic is going through), illegal TCP flood, etc. Or even unroutable IPs. Impossible to determine with the information available. Regardless, nothing much anyone else can do here.
  7. I noticed this issue in the code sometime ago, but I assumed the Cost schema's doesn't allow 0 resource costs and didn't give it much thought. Turns out I was wrong. You aren't really doing anything wrong. It's just a check being falsy when it shouldn't be. And casting undefined to a number gives a NaN. The following diff is all that's needed to change. One ought to care for edge cases, but it will fix the immediate cause. Diff generated from 0ad svn at rP24041. diff --git a/binaries/data/mods/public/simulation/ai/common-api/entity.js b/binaries/data/mods/public/simulation/ai/common-api/entity.js index 49d7636..2913650 100644 --- a/binaries/data/mods/public/simulation/ai/common-api/entity.js +++ b/binaries/data/mods/public/simulation/ai/common-api/entity.js @@ -33,7 +33,7 @@ var API3 = function(m) let args = string.split("/"); for (let arg of args) { - if (value[arg]) + if (value[arg] != undefined) value = value[arg]; else {
  8. Looks like his router's dashboard I think. I don't think so, the windows default thing suck big time and is almost useless beyond seeing why a download is being somewhat slow.
  9. Well, call your ISP I guess. They are supposed to prevent DDoS attacks. (I guess that's dependent on the ISP, to be fair, most analytics will ignore a few gig spikes). I expect all of them to give you a comprehensive report upon request though. Or just run wireshark locally and see where it's coming from. Sure thats not a download or something? those graphs show a very wierd DDoS attack, it instantly falls of a cliff.
  10. I don't think anyone cares about this anymore. Since we surpassed 2 years, * AD have a longer release cycle than Debian. But yes, given that the eastern civs are 90% finished this is not an unreasonable expectation.
  11. I forgot about that one. I think there was also another exploit. I am second guessing whether it was in the barter code or the tribute code now. This one was also fixed. The rest are exactly what I meant.
  12. Someone wanting to cheat has access to various bugs in vanilla to make it possible without an additional mod. You can literally enable full vision in multiplayer, build stacked walls, stacked units, and at one point, get infinite resources using the barter system IIRC. Which are arguably much more game breaking "cheats". Seems arbitrary to draw the line at a feature that's irrelevant for any "pro" player. Hotkeys and control groups mean this feature is rather useless for most of them from what I can tell. Some dude back in early 2019 was writing a mod / AI to handle economic micro management for him. With no concept of anti cheat, central authority, or trust mechanisms, such things are rather easy. I mean anyone could release a "cheats_mod.zip" right after A24 is released that is invisible in the compatibility detection sense. (I will do it for money $$$. That's a joke....unless?...). "cheats_mod" user playing against another user with the mod is no problem. But the other way is a problem. For a start, fix the flaw in mod compatibility detection. Having a security feature mods can literally mod out is rather useless. A somewhat easy way is to integrate checksums into the check which will also add an additional layer of security. mod.json declares checksum, modloader verifies it and pass through a function which gives a final hash which is whats compared between people to ensure their game is the same. Thats a scuffed solution but even that is better that whats already done.
  13. Most likely you made a mistake when changing the settings, regardless, maybe this executable will fix it for you. The binaries are from svn rP21936. Copy this file and replace the one you already have. pyrogenesis.exe
  14. Unbelievable he performed so well in those Marvel movies. It's no easy feat even for someone at peak physical fitness. Rest in Power.
  15. The problem is caused by highdpi screens and how recent Windows versions scale them. Since Windows internally tries to handle application compatibility for highdpi screens, it gives scaled resolutions to SDL2, which is actually severely low. This caused the game graphics to be absolutely @#$%, (for instance, the main menu buttons were stacked etc. for me on my screen). I noticed this when I switched from Linux to Windows. Interestingly there were no green glitches at the time. And then there was an update within the year 2020, (I can't be sure if it was Intel or Windows, since I did both at the same time), that resulted in this atrocity. I have reason to believe the actual glitches come from within Intel drivers because the game resolution is so much lower than the native one. I spent like two whole days trying to figure this out. I really wish I had seen this thread earlier, this information would have really helped me when I was randomly reading SDL2 docs and ancient SDL forum threads. There are 2 solutions, 1) Specify exclusive fullscreen (the oldschool kind literally nothing uses anymore because its drawbacks outweigh the benefits). 2) Specify awareness in the binaries which stops Windows from meddling with the resolution by scaling them or whatever, which means SDL2 can actually know the true resolution and draw the game using the true native resolution. #2 is what MS itself recommends. Unfortunately, both of these solutions require WFG devs and as an end user there really is not much you can do other than wait for A24 which hopefully will have this fix. Or apply this metaphorical english patch yourself I guess.
  16. Not really true. They detect software built without proper versioning, publisher info, or unsigned exes and the like. I mean Blender, GIMP, Firefox are all open source too. The anti virus wouldn't even know what you execute is open source let alone read the source to make sure it's safe. That's an acceptable model for an AntiVirus because you don't really need one if you at all know what you are doing. And, the built-in AV tools are more than enough unless you do something very stupid.
  17. Hypothetically, would this be a desirable feature? idtech engine have this. It's not exactly rocket science to make it. But most importantly, the cost benefit analysis doesn't seem worth it since you lose the JS sandbox.
  18. > What is already done? >> Would there be a way to improve pathfinding performance by using formations? Commands to move and pathfind across a map apply to formations, unit pathfinding would then only be relative to the formation. > And what does this have to do with terrain auras? Technically, nothing. Terrain auras will be rather to simple to implement. > Also can you describe the architectural problems, what they are, and how this relates to the issue of territory auras. Well, considering that it was because of performance problems that this feature you are asking for was removed in the first place, I will say that it is somewhat relevant. For the other question, it's 2020, and the game can't run smoothly on overkill hardware. But yes, aside from unit movement affecting terrain and the consequence upon pathfinding, there really is no relevancy in that post.
  19. Already done. Making the pathfinder work with non uniform grids is a solved problem and various games already have it. I recently read a paper from AAAI 2019 that discussed this very in-depth. Performance problems today are mainly due to some major architectural flaws. Having worked with commercial engines, this one is just not there yet.
  20. Actually, you can't really have unit speed affecting properties. A unit will choose to walk through 2 feets of mud a foot away from a literal road in the current pathfinding scheme. Jump point search is based on the assumption of uniform cost grids. This feature was present in the past before it was decided to nuke it in favour of better performance.
  21. GPL is not a free license. Unless 0AD is relicensed under a permissive license, there is no way to use Steamworks SDK. STK is apparently using Steamworks SDK in a separate closed source process and communicating with said process as a middle man. This opens up only the most basic of steam functionality. GPL is a rather viral license in that it tries to attach itself to things it should not be. "Keep in mind that according to the Steam Distribution Agreement you warrant and represent that you have all necessary rights to distribute the game via Steam. If your application contains third party open source code that is incompatible with the Steamworks SDK, then YOU MUST NOT DISTRIBUTE YOUR APPLICATION VIA STEAM." "But I saw a GPL-licensed application on Steam! This can happen if the author of the code that is GPL-licensed has given the permission to do so. The author can of course always (a) decide to grant Valve a different license than the author grants everyone else or (b) decide that what the Steamworks SDK does is just a communication with a service that does not invoke the copyleft requirement of the GPL." Also, consumer protection laws can come in. This means two things, Wildfire Games should be a registered company (Hopefully an LLC), and Wildfire Games can potentially be open to law suits. Seems like a no win situation for the benefit achieved by a donate button.
  22. White peacocks are almost always the result of leucism. And since it's a recessive gene, there is like no chance of encountering one of these in the wild. A random mutation will surely get killed, and even if not, will probably not pass on the gene. Leucism almost always occurs in captivity, so, i would assume recent. 1/100 is still too frequent. 0/100 is preferable in my point of view to be honest. (this is regarding that peacock discussion from last month btw)
  23. Maybe build artifacts? The SM binary distributed with 0AD is not that large as well. Somewhat matches Firefox sizes.
  24. Huh. I see. I assumed it was like the Intel integrated graphics.
  25. Integrated graphics will still be using the VRAM no? Aside from the onboarding buffer (which your dedicated card will also use)? I don't think the current ram bus allows to not tank GPU performance while using system ram. You should be fine as long as you are not buying an Intel and it can push 4ghz on a single core.
×
×
  • Create New...