Jump to content


Community Members
  • Posts

  • Joined

  • Last visited

  • Days Won


hyperion last won the day on February 14 2021

hyperion had the most liked content!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

hyperion's Achievements


Triplicarius (5/14)



  1. Quick notes only header sorting: changing sort order might cause changes. IIRC curl on at least on windows isn't safe and we can't assume the code base to be free of "order hacks" loops: std::ranges::iota is c++23
  2. Human reaction time is around 200ms, some gamer are even faster. 50ms with 150ms net delay sound like a very nice target indeed.
  3. Just because teams aren't locked doesn't mean there can't be defaults. Looks like a bug.
  4. c-style ps_stringutils_stringFromDouble as for str, I don't like this as a namespace name, I'd prefer a proper name. If it's to long in certain TU due to heavy use just use using or alias.
  5. When logging in there there should be a checkbox for staying logged in, otherwise after a certain timeout you will be automatically log out.
  6. Changing CC always has it's price and shouldn't be done lightly. The c++ core guidelines linked by @vladislavbelov earlier would otherwise be an ideal basis to start with as a parent for CC. auto: I like where the CC speaks of using auto in moderation. old style for loops: well, one could theoretically argue anyone with any coding experience in any language knows how they work at a glance which might be of minor help in maintenance but personally I don't mind. misc: moving lib/* to ps/* is fine with me, this is a historic curiosity that could stay but if someone wants to do all the cleanup, review, testing and committing - sure. The alternative is to split lib/* into an own repo and depend on it, so as to align with the original intent but I see this as the lesser approach here. I also have a preference for free functions over the CStr approach.
  7. Parsing xml isn't very fast, also you have a whole inheritance chain of xml files for a template. Once you have done all work you have an in memory representation which you could just dump bit by bit to disk and read back which is much faster. Well, it's not exactly as easy but explains the basic idea quite well. The code is open, for the gory details I suggest you start digging into it.
  8. This was changed at some point so you can't hide 200 units in a fort.
  9. I think there is bug where if water height is much different to terrain height the view rect in the minimap gets rendered out of proportion.
  10. Agreed, just changing the default isn't the best way. Some UI changes to properly promote forwarding without confusing users certainly would be better. Rewarding hosts with a "first class host badge" is probably already a good incentive. But we shouldn't assume people to be stupid and properly tell them the drawbacks of each method. There simply doesn't exist a just works solution without wfg hosting the games or proxying all traffic. So implicitly pretending otherwise wont help casting a good light on 0ad. I faintly recall @Langbart having written a guide somewhere ... Forwarding requires you to have sufficient rights to configure your router. Stun is a technique which allows you in some cases to bypass this limitation. So quick'n dirty solution only in the sense that it's easily abused as a one trick pony. The biggest problem is only some people will be able to connect to you while others can't depending on their ISP, this giving the illusion of all is well when it's not.
  11. Just delete the metadata.json, it's not needed at all. Don't even try manually fixing it.
  12. Teaching people on how to setup forwarding is not the goal but to let them know they are using a problematic setup. If stun is the only thing they get working, so be it. The main problem I see is they don't even know that there is an issue, which is always the biggest hurdle to address.
  13. Not sure what you are up to, before even creating a game one could pop up a message "Warning: stun enabled, random success, please consider forwarding, read more ...". Connection testing can also be done by the lobby, upon creation of a game or otherwise, which I consider a low traffic solution. The important bit is to educate game hosts that stun is a poor solution in general, the indicator is mostly for people to learn if they aren't able to connect to stun hosts so as to get rid of the impression that it's 0ad fault.
  14. One could indicate whether it's a properly reachable host (forwarding) or randomly reachable host (stun), if people believe stun is a full solution they won't care about a better setup. Also ip6 support could help. Sure there are other reason than stun, but I guess it's the reason in a vast majority of cases.
  • Create New...