Jump to content


Lobby Moderators
  • Posts

  • Joined

  • Days Won


Everything posted by Norse_Harold

  1. This sounds a bit like luck that the order was preserved. Linux is able to re-order received out-of-order fragmented packets, within reason. See the documentation for sysctl variables net.ipv4.ipfrag_time and net.ipv4.ipfrag_max_dist in (Linux kernel source code tarball)/Documentation/networking/ip-sysctl.rst I would have thought so too. What other tests would you recommend in order to be sure one way or the other?
  2. I haven't tested a game with Helicity yet, but as I said with the patch applied to my copy of 0ad, longsentenceasname was able to stay connected for an entire game, despite large packets of at most 1392 bytes sent to him during the game. Therefore, there was not packet loss of the large outgong packets. There is stilil fragmentation of incoming large packets (1400 bytes), and it would be nice to have the ability to prevent that as a host, but those packets aren't being dropped. I'm leaning toward it being a bug in ENet or 0ad. I'm surprised that so far I have found no feature in ENet for automatically adjusting the MTU of the link, but maybe that means that the user app is responsible for adjusting the MTU. I think that a proper solution would involve looking at the OS's indication of the MTU of the link that's in use, and harmonizing the MTU used by ENet (or 0ad) to that value at first. Then, upon connection, both peers use the minimum MTU of each side of the connection. It may be difficult for the library or app to determine which link is in use, because when a VPN is in use there is more than one default gateway, and multiple routing table rules are in place. Therefore, maybe a system could be added that would allow the user to hint which interface is in use or at least the MTU to use.
  3. Okay, Helicity did the ping command. Here are the results. White redaction: Helicity's user and host name Red redaction: Harold's VPN IP address Blue redaction: Helicity's IP address Then I asked Helicity to test with a packetsize of 1400 bytes: We also tested a packetsize parameter of 1393, and it resulted in fragmentation needed. So, it seems that the maximum is 1392 bytes. By the way, normally my firewall blocks all ping requests and replies. At first, Helicity got no replies regardless of the packetsize chosen, as expected. I added a firewall rule to allow ping requests and replies with only Helicity's IP address, which produced the above output when Helicity ran the tests.
  4. You're referring to in-game mute functionality, of course.
  5. I think that in-game GUIDs are randomly generated for each connection. It would only be linked to a username in the mainlog.html files of each user that was connected to the game before the user with GUID E4E25B1B022557AC disconnected from the game. 0 A.D. deletes mainlog.html each time it's started up, so unless the users backed up the file then it was likely deleted long ago. Even Helicity lost his copy of the file. Anyway, there's at least enough information to know that the unrecognized GUID wasn't wang_wei. In the attached mainlog_excerpt.html, wang_wei's GUID was F59C7E5A8195BC9B, not E4E25B1B022557AC.
  6. Also, there's this, maybe for the humor value. I joined a team game hosted by juarca as spectator on March 6, 2023 at about 17:00 UTC. This is observer chat. DoctorOrgans (1853): its wrong to say that for that idiot that just came in the specs DaddyCooL (1648): who? DoctorOrgans (1853): Norse_Harold DaddyCooL (1648): why is he idiot DaddyCooL (1648): over for Duck_ DoctorOrgans (1853): first, because he's low IQ , second because he mutes me for anything DaddyCooL (1648): what is your iq leopard (1242): 0 leopard (1242): 0.1 DoctorOrgans (1853): 3 because he bans me from his games even if i never did anything to him kun0 (1560): 90 kun0 (1560): 900 kun0 (1560): 9000 leopard (1242): 99999 DaddyCooL (1648): over for Stockfish (1722) DaddyCooL (1648): okay no DoctorOrgans (1853): Norse_Harold, why are u such an idiot by muting me for no real reasons ? It's because you are a mod, you think i respect you ? DaddyCooL (1648): is Norse_Harold a moderator? DaddyCooL (1648): Norse_Harold are you abusing Modartor force? Norse_Harold: Modartor force, is that like Jedi force? DoctorOrgans (1853): he's not even a real moderator .. Norse_Harold: midichlorians? DoctorOrgans (1853): he can only mutes .. DaddyCooL (1648): Norse_Harold what is your problem with DoctorOrgans (1853) DaddyCooL (1648): why are you so jealous? Norse_Harold: I enforce the rules. I have no personal beef with anyone DaddyCooL (1648): Norse_Harold, DoctorOrgans (1853) claims you hate him because he is unstopable Norse_Harold: he can claim whatever he wants, doesn't make it the truth leopard (1242): DoctorOrgans (1853) is a good player bad human being DaddyCooL (1648): your truth or absolute truth? DoctorOrgans (1853): there's no "rules" just interpretations .. i saw someone blatantly insulting someone else .. no mute leopard (1242): he is not Valihrant DaddyCooL (1648) Norse_Harold: I don't mute on every infraction DaddyCooL (1648): who was insulted by him? DoctorOrgans (1853): indeed ! Norse_Harold: I mute after a person builds up enough infractions for it to be significant DoctorOrgans (1853): bla bla bla DaddyCooL (1648): he says bla bla bla Norse_Harold: you must not be paying attention DaddyCooL (1648): i think he disrespect you Norse_Harold Norse_Harold: DrDisrespect DaddyCooL (1648): maybe instead of a mute you should considering banning him DoctorOrgans (1853): i said "over for vincel" and he mutes me .. just lol .. enough evidence to remove you from any responsabilities leopard (1242): stop DoctorOrgans (1853) if you don't want to be like shift sierra DoctorOrgans (1853): shift sierra , whos that ? Norse_Harold: shyft* DoctorOrgans (1853): dont know who it is leopard (1242): we respect you DoctorOrgans (1853) Again, let's avoid "insulting him back", please. Just be assertive and crack constructive jokes or make observations about his behavior, without using language that is against the lobby Terms of Use, in response. Meanwhile, collect evidence and report it. Thanks.
  7. Helicity reported verbal abuse from DoctorOrgans in a team game on March 4, 2023 at 11:30 to 11:50 UTC. He sent an excerpt of mainlog.html, and I parsed it in order to see the chat messages and who sent them. DoctorOrgans (1853): french favela Timmy_Death_Lord (1306): tf? GaiusJuliusPfifficus (1470): slums of paris? DoctorOrgans (1853): france is africa now DoctorOrgans (1853): thx to jews DoctorOrgans (1853): and white women Helicity (1377): really? GUID E4E25B1B022557AC: racist JC as usually Timmy_Death_Lord (1306): true GaiusJuliusPfifficus (1470): /allies don't think of nations, every person is different GUID E4E25B1B022557AC: french need the immigrations DoctorOrgans (1853): yeah ... anti-racist brainwashing 24/7 GUID E4E25B1B022557AC: all shits jobs are taken from them DoctorOrgans (1853): bs DoctorOrgans (1853): just pay the jobs more DoctorOrgans (1853): all this is a ponzi scam Helicity (1377): why, DoctorOrgans (1853) do you live in Paris? DoctorOrgans (1853): just make stable families, dont make @#$% study useless stuff and make them dumb feminists DoctorOrgans (1853): only girls with IQ > 115 should be able to study wang_wei: my brain hurts DoctorOrgans (1853): abortions in france is 200.000 year Helicity (1377): DoctorOrgans (1853) I disagree, because IQ test is as unreliable as 0AD ratings wang_wei: every time JC talks about women Timmy_Death_Lord (1306): whos in paris? DoctorOrgans (1853): @#$%s DoctorOrgans (1853): and jews Timmy_Death_Lord (1306): fr DoctorOrgans (1853): and lot of sand @#$%s too Harald_from_LOR (931): is phoenix going to reconnect? Helicity (1377): seriously wtf DoctorOrgans (1853): lol wang_wei: Jc dont use that word wang_wei: @#$%ing piece of crap wang_wei: you re from belgium? Timmy_Death_Lord (1306): @#$% the arabs wang_wei: one of the worst colonizers wang_wei: you @#$%ing crap Helicity (1377): Please stop this wang_wei: dont ever use that word again in my games DoctorOrgans (1853): yeah, i love to triggered anti-racists DoctorOrgans (1853): which word ? GUID E4E25B1B022557AC: Timmy_Death_Lord (1306)??????? Timmy_Death_Lord (1306): they are all terrorist Helicity (1377): ENOUGH! DoctorOrgans (1853): Helicity (1377) are you sand ? GUID E4E25B1B022557AC: lol gg i leave with this behaviours idiots DoctorOrgans (1853): :D One user, referenced by GUID instead of user name, disconnected before the CPlayerAssignmentMessage, so we couldn't determine with certainty the player's name. However, based on context, Helicity said that the player was probably wang_wei or Marre-Vrickad. Attached is the mainlog.html excerpt as it was sent to me by @Helicity. He copy/pasted the text into a forum PM instead of attaching it. Note that the forum software automatically replaces some Terms of Use infringing words with strings of characters like "@#$%". In the future, please attach the file so that the forum software doesn't auto-censor infringing words. Multiple people had some language in the conversation like profanity and pejoratives. I encourage everyone to simply collect evidence and report misconduct instead of engaging in "retaliation". I see that DoctorOrgans had the majority of problematic language. As lobby moderators, we don't moderate in-game conduct. Except, sometimes we do if it's bad enough. Please report future events. mainlog_excerpt.html
  8. Thanks, Lion.Kanzen. Is there somewhere that this is documented? I searched the Internet for a half hour and couldn't find any hits for cojone except Spanish cojones.
  9. Okay, I made a small source patch to adjust the MTU to 1392 bytes instead of 1400 bytes. It affects only the MTU of outgoing traffic. I don't see a way for the server to control the MTU used by clients for packets sent to the server, unless it's somewhere in the ENet logic for constraining the MTU. And, ideally the MTU is decided automatically instead of hardcoded in the source code. The ICMP traffic necessary for the OS to do that might be blocked locally or remotely, although that is not necessarily what ENet is relying on. Note that "ping -M do -s 1392 play0ad.com" through the VPN link succeeds. Edit: An idea for allowing the server to control the MTU used by clients: apparently MAX_CLIENTS peers are allocated immediately by the call to enet_host_create() in CNetServerWorker::SetupConnection() . We can iterate through all of the elements of the m_Host->peers array and adjust the MTU before the peer structures are used for actual connections. Anyway, I used the improved MTU when hosting several games through VPN today. longsentenceasname, who was unable to stay connected in the past was able to stay connected and play a complete team game hosted by me. I assume that the modification will also allow Helicity, Cousin, and others to stay connected now. And no, clients don't need to apply the patch. Only hosters using VPNs, such as @Ginnungagap might need to apply this patch. For anyone choosing to apply the patch, you need to have a build environment setup first. The build environment instructions mention the SVN version of the 0ad source code. Instead, use the source code for the stable release of alpha 26, since that's what this patch is intended for. That way it's usable with the current player base. See the attached file below for the patch. Adjust-MTU-for-VPN-link.patch
  10. This is the screenshot, in case the external image hoster discontinues hosting it. Google Translate from Italian to English: Bakixeddu: nz. motherf______ come back (in Italian) nz.: call your mother Bakixeddu (in English) Bakixeddu: nz. but s___ me (in Italian) nz.: good, I am reporting you (in English) Bakixeddu: but get off the f___ you (untranslated: cojone) (in Italian) Thanks for the report. I count 4 or 5 instances of profanity in this report, depending on whether or not "cojone" is Italian profanity. I've added it to the list of Bakixeddu's infractions, which affects the recommended mute duration. I've applied a lobby mute of 1 day to Bakixeddu for this behavior and will be watching for future violations by Bakixeddu. To everyone, please report any other abusive behavior that you may observe. Also, consider avoiding Bakixeddu until he chooses to improve his behavior.
  11. Someone else will have to help with that test, because if I ping myself then it just sends the packets over the loopback adapter. The problem seems to be fragmented packets that are being dropped some time before they reach Helicity. Two fragments: Packet of size 1420 bytes on wire, 1400 data bytes Packet of size 28 bytes on wire, 8 data bytes These aren't being acknowledged at all by Helicity when Helicity plays with his laptop and school Internet connection. Today he's using his dad's network, and it seems to be working. But, I want to avoid having fragmented packets being sent out. How does ENet determine what MTU to use? Maybe it's looking at the wrong interface. My ethernet interface has MTU 1500 bytes (maybe data). My VPN interface has MTU 1420 bytes on wire. ENet is using the default MTU of 1400 data bytes. I want ENet to use a lower MTU, such as 1392 data bytes.
  12. I remember advice about preventing packet loss when using UDP protocol. Because ISPs and Internet backbones are more likely to drop UDP packets that are larger, the advice for real-time network protocols like VoIP and gaming is to use smaller packet sizes. If I recall correctly, about 500 bytes is the maximum recommended. Maybe some Internet backbones used by Helicity, and the 5 other known players who have trouble staying connected to VPN users, have implemented the Random Early Drop QoS algorithm, preferring to drop larger UDP packet sizes. Is there a way to easily adjust the maximum packet size used by 0ad? Even so, it doesn't seem like the "reliable" feature is working as expected. Note that VPNs have a lower MTU than the average Internet connection, by almost 1000 bytes. I see a packet flag in the ENet library: /** packet will be fragmented using unreliable (instead of reliable) sends * if it exceeds the MTU */ ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT = (1 << 3), Hopefully this is not in use by 0ad, but if it is then it might explain what's happening here. Edit: there's only one call to enet_packet_create() that I can see, located in source/network/NetHost.cpp. Apparently all packets have the reliable flag, and do not have the unreliable fragment flag. My new hypothesis is that the number of retry attempts is being exceeded and the connection is being forcefully reset by ENet.
  13. Helicity is on Linux, not Windows. We can reproduce the symptoms with no mods enabled, simply by setting the number of player slots to 5 or more, or toggling settings like capture the relic very rapidly with 4 slots. There are no JavaScript errors when the problem occurrs. When the problem occurs, the reliable data in transit increases to several thousand bytes and does not decrease. Then Helicity gets disconnected after a few seconds. I think that this is caused by packet loss, either on delivery of update packets from the host to Helicity, or on delivery of acknowledgement packets from Helicity to the host. The problem so far only occurs when I host via a VPN. When I hosted without VPN, Helicity remained connected despite using 8 player slots, and much rapid adjustment of game settings like capture the relic and number of relics. Helicity got disconnected from another host as a player in a 4v4 game today. People commented that he regularly has connection problems. My assessment is that there is not a bug in 0ad, but there is a combination of network or computer problems with the players involved. Maybe VPN traffic is bursty, and maybe Helicity's connection or computer has trouble with that.
  14. You did redact the player's name, but there seems to be enough information combined with screenshots that I've taken in the past to determine the player's name. Don't worry, he's not reported for purposes of any rating adjustment. But, it's still useful to inform the player base about the player's behavior. It looks like the player is tonyfurg. He is probably using the customRating mod to make his rating appear to be 1176, as I see in past screenshots. But, his official rating is 1397 after that rated match was completed. Of course, a player's true skill level is rather subjective, and it depends on the skill level of the opponent. If you post the replay then players can get more of an accurate gauge of the player's skill. Also, unless your opponent is familiar to you, I advise that you always ask your opponent to tell you an actual skill level. Don't assume that your opponent's rating is accurate. That way, if they lie then you can call them on it. If you don't ask then they can just say, "Oh, you shouldn't have assumed that my rating was accurate. It's your fault for not asking."
  15. @StockfishPlease attach the replay file (commands.txt) from the game to your post.
  16. @HelicityThe screenshot shows the errors that appeared when I enabled regicide and hero garrison mode at the same time. It's not what I was asking about. Please start 0ad from a Terminal window, connect to a game that I'm hosting with randomly generated map like Mainland, and copy/paste the JavaScript errors from the Terminal window to a forum post. The reason that this is necessary is because we should not assume that the root cause of the problem is regicide mode + hero garrison. There could be a different cause of an infinite loop during initialization.
  17. Okay, Helicity and I did some testing, and we discovered that it's probably caused by the bug related to hero garrison with regicide mode. Helicity said that sternstaub recommended that he check for that bug and disable persist match settings. Merely disabling persist match settings was not enough, though. Here is how to fix the bug related to hero garrison and regicide mode. Except that Helicity couldn't find matchsettings.json or matchsettings.mp.json. So, I hosted a game with a non-random map, such as Acropolis Bay. Helicity connected, and unlike when I was hosting with a random map like Mainland, he did not get disconnected. Then I enabled Regicide mode. Helicity noticed an error message that pointed toward the hero garrison bug. I enabled hero garrison, then disabled it. Then I switched to a randomly generated map (Mainland). And, Helicity did NOT get disconnected this time. Success. Later, with Helicity's "normal settings" (with community-mod and other mods?) the problem returned. So, there is still some troubleshooting to do. Note that there were some files in Helicity's mods/user directory, which is like having an extra stealth mod enabled that changes unexpected files. Files don't belong there for non-developer users, so we made a backup of those files and deleted them. It didn't fix the problem, but it is something else to watch out for in the future. The next step for troubleshooting would be to narrow down a setting or mod that is a minimal way to reproduce the symptoms. Note that there are three places where settings are stored for the game. There's default.cfg, local.cfg and user.cfg. Check in each of those paths for matchsettings.mp.json and matchsettings.json, and check in each of those config files for settings related to hero garrison. Backup any data that you remove before removing it so that we can identify the root cause(s) of the problem. If you choose to remove default.cfg then reinstalling the game will restore it to the correct state. Another clue: Helicity said that he neither hosted a game nor played as a player of a game involving regicide. However, he did spectate a game involving regicide. Developers, is there a way for match settings to become persistent in the game other than matchsettings.mp.json? It's strange that the problem would even happen without regicide mode enabled. Maybe there is a different root cause that induces the same symptoms as the hero garrison+regicide bug. Helicity, can you please provide a copy/paste of the console messages about the JavaScript errors related to the infinite loop, please?
  18. Anyone on the list of players allowed to join my games who has trouble joining my games should join IRC so we can conduct troubleshooting. It might be a problem on my end, it might be a problem on your end.
  19. @ikluEnsure that the audio device that you plan to use is connected to your computer well before you start up 0ad, as 0ad doesn't seem to be able to pivot to a different audio output device at runtime. Also, ensure that you have the correct audio device configured as the default output device in playback devices before starting 0ad. Are you using HDMI audio output? 0ad may have a bug with HDMI audio output. Consider helping us resolve the bug by testing hotfixes. It would be necessary to setup a build environment and test patches. Or, consider using a different audio output device. If it's still not resolved then see the FAQ answer to the question "No sound, no audio, or 0 A.D. is the only app with sound".
  20. As I wrote earlier, I wouldn't be the one deciding and implementing a course of action. user1 can correct rating points. He can also implement other courses of action, as necessary. It depends on whether the user chooses to comply with the rules or requires an escalation in moderation response. That's up to cronelius. or whichever Ramirez brother controls all the duplicate accounts that have allegedly been involved in ratings abuses. It's not "my" rules. The rules were debated and carefully chosen many years before I was even active with Wildfire Games. And, there are many good and logical reasons for the rules. It's "our" rules, and it's a good thing that we have them. Otherwise it would be chaos and many good users would be driven away.
  21. Cool idea. Realize that development work can take months or sometimes years to finally get merged into the code base. In the meantime I expect WFG to be enforcing the rules the way that they are written.
  22. If the matches were unranked then I would agree. Unfortunately, they were ranked, so I disagree that he is not harming anyone else by rigging ranked matches. In addition to what I wrote earlier, I will point out that the value of maintaining the integrity of ranked stats is more than just the rating. The value is also the number of ranked matches that have been played. That represents a real time investment, considering that matches usually require at least 15 minutes, sometimes much more. It's easy to create new accounts, but it's not easy to build up substantial ranked statistics, provided that we enforce the rules about not rigging matches. If we don't enforce the rules about rigging ranked matches then it means that the time investment that people have put into their ranked stats has almost no value, whether for honor or for proving that one has invested in an account. When one has invested in an account then one is less likely to engage in severely disruptive behavior. You see, this goes way beyond the simple issue of rigged ranked matches inflating one's rating. Sorry, but what you wrote here is an ad hominem logical fallacy. Anyway, the rules have very good purposes, and you've completely ignored those purposes so far in the conversation. How many ratings violations before you would agree that cronelius is flagrantly violating the rules? When you looked at the evidence that I posted, did you see any examples of rule violations? How many did you see? If you think that the rules should be changed, then that's a separate conversation that should be in a separate thread. In fact, this isn't even the correct thread for this conversation. Anyway, go ahead and propose rule changes. In the meantime, WFG staff are expected to enforce the rules. What I think should happen to cronelius is that the rules should be enforced the way that they are written. Anyway, the only moderation capabilities that I have are mute and kick. So, it's up to user1 to decide what course of action to take. I think that he will want to conduct an investigation first. Please share evidence that you may have, whether demonstrating rule violations or demonstrating rule compliance.
  23. I'm not going to ignore flagrant rule violations. See lobby rules 7 and 8 7. Not attempt to artificially adjust any user of the service's rating or any of the statistics which impact it. (Examples of this are, but are not limited to: cheating in ranked games, reverse engineering the service, and taking advantage of other users of the service. 8. Not undermine the intended gameplay or purposefully gain unfair advantages in multiplayer matches (for example cheating, using exploits or bugs). When cronelius setup ranked matches between two users that he controlled that was gaining an unfair advantage in multiplayer by rigging the matches. It was also an artificial adjustment of his rating. There are good reasons for the rules. They help to protect the integrity of ranked matches. They also help to quickly identify the minimum age of an account based on the number of ranked matches. Many or most players are not online at the time of the rigged ranked matches, so they don't have an awareness of what's happening in order to identify that some ranked matches were rigged! And, how can you expect players to know this when you're asking me to not even post in this thread with the evidence? Integrity of statistics about the number of (legitimate) ranked matches is important for more than just gauging player skill. It also helps to identify which users have invested more in their accounts than other users. This is useful for identifying main accounts of players and linking player reputation to those names. Please do not ignore players that are boosting their ratings and number of ranked matches by playing rigged games. Please report them as soon as possible. See something, say something. Thank you.
  24. On a US English keyboard, the key to open and close the command console is ` (backquote), also known as ~ (tilde) since those characters are on the same key. It's the key that is the furthest to the upper-left of the keyboard within the main section of keys. It's just to the left of the number 1 key. It's not the Escape key, of course.
  25. In the title of your post, you state that it is not a network issue. I think that it is too early to conclude what the cause of the issue is. Based on the symptoms that you have described, and when they do and do not occur, I think that the most likely explanation of the problem is packet loss at your Internet connection. (Also check for packet loss at your wireless network.) There are many possible causes of packet loss at the Internet connection. One idea is to check whether you have a modem with the Intel Puma chipset, because those modems have terrible problems with packet loss. A partial list of modems to avoid is here. Otherwise, find your modem in the DeviWiki database and check what CPU it has. If it's Intel Puma then I advise replacing it, since there is no firmware fix for the problem. Another possible explanation of the problem is that your laptop is doing excessive power saving on the wireless network adapter. During gaming, you can try configuring your computer to be in high power mode so that the CPU (and maybe other devices) aren't doing power saving. Also, try disabling power saving on the I/O interface that your wireless network adapter uses, whether it's a USB port, PCI-e port, or other type of interface. Another possible explanation is that your laptop is overheating and doing brief periods of thermal throttling. This seems less likely than the other ideas, since the computer would probably be totally frozen during thermal throttling, not just networking. Usually cleaning dust and hair from the heatsink can resolve this. But, don't remove the heatsink unless you have the supplies, tools and instructions to properly reinstall it. Otherwise, you'll ruin the thermal interface between the processors and the heatsink. Generic instructions for redoing a thermal interface are on Arctic Silver's website, but ideally you would follow instructions specific to your laptop. Laptops often use adhesive thermal pads of specific thickness that you would need to source, ideally directly from the manufacturer, second-best is from ifixit.com, third best is from eBay spare parts intended for your specific model of laptop. If you don't know how to do these things or want more troubleshooting advice then talk to me on IRC when I'm online.
  • Create New...