Jump to content

Norse_Harold

Lobby Moderators
  • Posts

    551
  • Joined

  • Days Won

    15

Everything posted by Norse_Harold

  1. @BeTeThis is the wrong thread for posting reports of ratings offences. This thread is where completed requests and off-topic discussions are moved. You should delete the post from this thread and instead post it in the correct thread for reporting offences. Edit: corrected the link.
  2. I've been telling people about Carrier-Grade NAT for a while. It seems to disrupt STUN negotiation. It's unfortunate that the users who are least likely to be knowledgeable about networking and troubleshooting are also the most likely to be using Internet connections that have CGNAT. It's increasingly common now, due to IPv4 address exhaustion. It's also another step toward creating consumers out of us instead of content creators and empowered Internet peers. How to diagnose whether you have CG-NAT? Login to the administration interface of your modem and check the WAN or Internet IP address. If it's a private IP address (192.168.x.x, 172.16.x.x, 10.x.x.x, or 0.0.0.0) then you likely have Carrier-Grade NAT. Also check your public address with whatismyip.com or similar websites. If the modem's admin interface indicated IP does not match the IP listed by whatismyip.com then you likely have Carrier-Grade NAT. If you have Carrier-Grade NAT and you want to request "public IP address service" then this document could help you with explaining to your ISP what you want. There's usually an additional monthly fee for the service. I'll add a mention of this to the FAQ.
  3. I appreciate that you have good intentions and are trying to support a non-profit open source organization. So far it doesn't seem like you're making an offer to donate the domain names with no strings attached. Realize that simple redirects are still not secure, as they can temporarily redirect to malicious sites or inject JavaScript that then modifies HTTP content served by the legitimate site. This can change the links for downloads to malware-containing install files. A way to prevent this risk is if WFG has ownership and control of the domain names.
  4. Thanks for releasing the source code for mainlog_extractor.py. What license do you choose for it? The FSF suggests using Apache License 2.0 for small programs. I hope that players will have integrity and not use this to cheat during gameplay. And, I hope that people will use this program for good purposes like reporting in-game verbal abuse by others.
  5. So you would transfer the domain ownership to Wildfire Games staff, right? It's important for security to have WFG control the domain if you expect to have downloads of the game hosted there. Otherwise there's a risk that malware is, intentionally or unintentionally, sent to users via the site.
  6. @PieLamIf sound works reliably with a native package of 0ad then here is a potential hypothesis that would explain the symptoms. Snap apparently can have a race condition where not all devices have been enumerated in the sandbox by the time the app is started within the sandbox. Read about it here. (Scroll down to "Too early for operation errors".) That means you should pay attention to whether snapd is already running before each test of audio with 0ad within the Snap sandbox. To check whether snapd is running you can use this command in a Terminal window. ps -A | grep snapd To start snapd before starting 0ad, maybe this command in a Terminal window will accomplish it. sudo systemctl start snapd
  7. Maybe the copy on disk is fine, but the copy of the archive in RAM was corrupted due to malfunctioning RAM or CPU. Then after reboot, the archive was reloaded to RAM from disk and happened to be correct. Or, maybe there is a problem with the transfer interface of the hard drive such that sometimes a correct copy is retrieved and sometimes an incorrect copy is retrieved. Or, maybe something else entirely is the cause. I'm just listing hypotheses that would explain the symptoms.
  8. Okay, thanks. You should still check the RAM in your system with memtest86+. Also, check the S.M.A.R.T status of your storage devices with smartmontools.
  9. In fact, both are useful for diagnosing the problem. We can compare the log files to see what's different when sound works. Also, please post the output of the following commands at two different times: when sound isn't working for 0ad and when sound is working. You may need to install a package named like openal-info in the snap. The command to do that might be: sudo snap install openal-info snap openal-info snap cat /proc/asound/cards And, please provide the output of the following commands when sound is working for 0ad. This will tell us the hardware that is available, independent of the Snap sandbox. openal-info cat /proc/asound/cards Also please test sound with whatever version of 0ad is available as a native package for your system. If it works reliably there then that's a clue that the Snap sandbox might be interfering with access to the audio hardware. Basically, ask the question, "under what conditions does sound work reliably?" and construct controlled experiments that test various conditions and make observations. Is it due to the hardware that you're using? Try different hardware temporarily. Is it due to the audio backend that you're using? Try using a different audio backend with OpenAL, as explained in the FAQ answer about sound. And, did you follow the advice in the FAQ answer about sound? I've updated it a few times over the months. Scroll down to the answer to "No sound, no audio, or 0 A.D. is the only app with sound".
  10. Thanks for copy/pasting the error messages. Can you attach mainlog.html and system_info.txt? What was happening in the game at the time that the error occurred? Can you cause it to happen again? What happens if you reboot your computer and try to cause the problem to happen again? Which mods were you using at the time? How can others reproduce the symptoms? Without further information and testing, we can only guess what would cause that. The error message states that the checksum of a part of a Zip archive failed to match the correct checksum. This could be caused by corruption of the data on the storage device. Or, it could be caused by faulty RAM or CPU. Please make a backup of the game data and then reinstall the game. If that doesn't fix it then check for hardware problems. For example, you can check for faulty RAM with memtest86+.
  11. Please follow the lobby Terms of Use, everyone. Duplicate accounts without authorization are not allowed, so any duplicate accounts that anyone has, please disclose them to the lobby moderators and the reason for having them. Also state which account you would like to consider your primary account from now on. We'll review the request for authorization and might actually authorize a duplicate account or two for legitimate purposes. G.O.A.T, please stop calling duplicate accounts "smurfing". Smurfing, as far as I know, means more than just using duplicate accounts. It means lying about one's skill. I think that Yekaterina is good about disclosing their skill level when asked, so that games can be balanced. weirdJokes, an unfactual acccusation of a crime (for example breach of contract by violating the terms of use, bullying on the Internet , or ddosing people. These are crimes in certain jurisdictions.) is called libel. Please don't do it. If you have witnessed misconduct or a crime then please disclose the evidence to the moderators. Don't make accusations without evidence. That goes for you too, G.O.A.T.
  12. I would advocate for a fix being implemented into the default game in the next update, but I'm not the decider of that. @Stan`what do you prefer? 1. Adjust the default MTU of 0ad to 1392. 2. Add a feature for users to override the MTU in the configuration and/or command line. (Note that without options 1 or 3, user education would still be necessary in order to actually solve the problem.) 3. Ask ENet to adjust the default MTU to 1392. 4. Options 1 and 3. Guard option 1 with a check of the version of ENet or a check of the value of ENET_HOST_DEFAULT_MTU. Undo option 1 when options 3 or 8 are implemented and used widely by the player base. 5. Add logic to 0ad to adjust the MTU of each connection between two peers to the minimum of those two peers. 6. Add logic to ENet to adjust the MTU of each connection between two peers to the minimum of those two peers. 7. Add logic to 0ad to sense a correct MTU. 8. Add logic to ENet to sense a correct MTU. Notice that most or all options can be combined. They are listed roughly in ascending order of time required.
  13. Today we ran some tests with 0ad while I was connected via VPN, and Helicity was connected via school wifi. We first ran a controlled experiment without the MTU adjustment patch applied. As expected, the maximum outgoing packet size was 1400 data bytes, in fragments of 1400 bytes on wire and 28 bytes on wire, and the problem occurred where Helicity was disconnected after adjusting the number of player slolts to 5 or more. Then I hosted a game with the patch applied that adjusts the MTU to 1392. Helicity connected, and I varied settings in the gamesetup that would normally have caused him to get disconnected. He remained connected. We used cheat codes to create armies of 200 to 400 units and have them fight. It worked well, and Helicity remained connected until we ended the game voluntarily at about 6 minutes. During the test, the maximum outgoing packet size generated by 0ad was 1392 data bytes (1420 bytes on wire), of which there were 133 such packets, and none of which were fragmented.
  14. 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?
  15. 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.
  16. 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.
  17. You're referring to in-game mute functionality, of course.
  18. 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.
  19. 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.
  20. 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
  21. 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.
  22. 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
  23. 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.
  24. 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.
  25. 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.
×
×
  • Create New...