- User Since
- Aug 7 2022, 9:14 PM (33 w, 2 d)
Wed, Mar 15
Given that it was merged
How about network.enet_mtu. That way, in case ENet corrects the definition of the mtu variable then 0ad's config variable will still be correct.
Given that it was merged we can consider adding config support, just that it won't really work until server upgrades enet to HEAD. So offering [config support in 0ad for overriding the mtu] might result in user expectation that can't be fulfilled.
phosit and I tested this patch today in multiplayer via the lobby, and it works as expected. I hosted, and phosit connected as a client. Our MTU was 1372 bytes in every view of network statistics (server and client). We did some stress tests with cheats enabled in order to produce large packets. The maximum packet size seen was 1372 data bytes (1400 bytes on wire). There were 21 such packets sent by phosit, and 180 such packets sent by me. None of the packets were fragmented, despite using a Wireguard VPN.
Mon, Mar 13
I recommend testing this before merging it, to verify that it accomplishes solving the actual problem. I'll be available to help with testing via Wireguard VPN tomorrow evening (western hemisphere time zone).
Fri, Mar 10
Thanks for working on this.
Feb 17 2023
- rebase on svn master (r27552)
- add mute of map flares from muted users. Muted users still see their own flares, but the server doesn't broadcast them to the other clients.
Feb 13 2023
Itms, thank you very much for taking the time to read through the patch. I agree that the patch needs to be improved. It was written hastily in order to try to meet the feature freeze deadline. I'll reply to each of the bullet points in your comments.
Jan 28 2023
I'm pasting here the feedback from trompetin17. Please specify what is a required change for merge (aka mandatory) and what is not a required change for merge (aka wishlist).
- rebase on svn master (r27498)
Jan 12 2023
- add missing files NetModerationLUT.h and binaries/data/mods/public/gui/common/moderation/*
Jan 11 2023
- rebase on svn master
- change name of top-level define in NetModerationLUT.h
- alphabetize order of include paths for us OCD types
- correct path of include NetMessage.h in NetServer.h
- adjust comments in ModerationLUT.js to refer to enums instead of enum classes
- Rename NetModerationTables.h to NetModerationLUT.h
- Rename LookupTables.js to ModerationLUT.js
- Fix bugs in moderation response list output
- Fix linter warnings
- Minor style and code beautification improvements recommended by Stan, phosit and Elexis
Would naming the moderation table files
Jan 10 2023
sera said, "The names NetModerationTables and LookupTable are supposed to match and I don't like either name in particular. NetModeration.h feels better to me."
- Use writeable aliases to CModerationMessages instead of pointers, because S_m_Identifiers is not a singleton, it's a struct.
- add more validation checks in JS/C++ binding interface for CModerationMessages
- minor style and code beautification improvements recommended by Stan, phosit and Elexis
- fix linter warnings
Items marked done are completed in the following updated diff.
- translate help text
- use accumulate instead of transform_reduce
- fix bug in /clear command in gamesetup (clear this.chatText.list)
- remove message in executeNetworkCommand() that "a command was found after a chat command. It was passed to the chat handler."
- minor style and code beautification improvements as suggested by Stan, phosit and Elexis
Items marked done are done in the following updated diff.
Jan 9 2023
Jan 8 2023
- Make decodeModerationResponse object oriented. Each translated format string is a static property of the class prototype, so that the strings only have to be translated once.
- Use enum instead of enum class for moderation tables, in order to conform to the existing design for NetMessage handling
- Use getaddrinfo() instead of inet_addr() in StunClient::u32ip_from_wstring()
- Adjust the #ifdef in StunClient.cpp so that more OSes are included, such as Android, for including headers for getaddrinfo()
- Use ENET_HOST_ANY instead of INADDR_ANY or INADDR_NONE in NetServer.cpp and NetClient.cpp
- Revert some of the changes to source/lib/external_libraries/enet.h
- Use const for interactive in KickUser()
- Fix some lint errors like whitespace at the ends of lines, consistent return
- Make minor adjustments to coding style, based on feedback from Stan, phosit and Elexis
- Fix a bug where moderation helpers could hide the results of successful moderation commands from the controller if they sent moderation requests with response type set to silent
- Add more guards in case session is null to avoid using session
- Change wstring_from_u32ip() and u32ip_from_wstring() to work with utf8 strings instead of wide strings
- Remove functions RemoveIPFromList() and RemoveUsernameFromList()
- Move checks whether additions to moderation list could affect the controller or host to the end of UpdateModerationList()
Jan 7 2023
These items are taken care of in the following diff update.
Jan 4 2023
I've made more adjustments based on the feedback. I'll accumulate more changes before updating the diff, since it disrupts the line numbering of the comments.
Jan 3 2023
Thanks for putting development effort into addressing the problems with verbal abuse in the lobby and in games.
- Use object oriented moderation response decoding for info and announcements
- Use enum class instead of enum for moderation tables
- Use constexpr u8 instead of #define for moderation memory and network limits
- Use constexpr instead of hardcoded values for number of elements in array of moderation identifiers
- Remove ternary involving fullPrivileges and rename the variable to userPrivilegeLevel
- Remove unnecessary \ line continuations and whitespace before continued lines
- Change name of ModerationResponseCode::COMMAND to UNUSED, and use value of 0 (in C++ and JS)
- Reduce redundant code at return from JS makeStringsFromIdentifiersHash() and at "moderationresponse" message dispatch
- Correct bug in JS kickPlayer() to call moderation() with the correct arguments
- Rename parse_moderation_commands.js to send_moderation_command.js
- Rename process_moderation_response.js to receive_moderation_response.js
- Correct copyright year. Happy new year!
Thanks for the feedback Stan. This was quite helpful.
- Changed the file name of the moderation response decoding script to ensure that it is processed by the interpreter after moderation_tables.js
- Made some of the moderation response decoding system object oriented
Jan 2 2023
Made the command line interface simpler by removing parsing of --identifiertype, --effecttype, and --responsetype switches.
Dec 31 2022
- Added source/network/NetModerationTables.h
- Added binaries/data/mods/public/gui/common/moderation/parse_moderation_commands.js
- Added binaries/data/mods/public/gui/common/moderation/decode_moderation_response.js
- Added binaries/data/mods/public/gui/common/moderation/moderation_tables.js