-
Posts
226 -
Joined
-
Last visited
-
Days Won
4
Everything posted by rossenburg
-
When user leave rated game it should be automatically reported
rossenburg replied to BeTe's topic in General Discussion
It's not impossible but there are certain things to be considered. The bot receives game reports from players when they submit a report using an IQ stanza and a payload containing a "gamereport" element. If only one player submits a report, the bot will still process the report and update the leaderboard and ratings for that player, but it won't be able to update the ratings for the other player as there is no game report from them. If the other player doesn't submit a report at all, the bot will not have any information about their performance in the game and will not be able to update their ratings. My question is, what if the host rather left the game? If the host leaves the game before it ends, the game will be considered as a draw and no ratings will be awarded to any player. If the host leaves after the game has ended, it is likely that the game report will not be submitted to the bot, and in that case, the bot will not receive any information about the game and will not update the ratings of any player. Considering the host as a winner in a 1v1 after the opponent left the game for a certain number of minutes or hours (depending) is possible and can be easily done, but in a case where the host rather left, how do we handle that since there isn't any info submitted to the bot @user1 @Dunedan -
i agree.
-
wtf is a profane slang but these days i think its widely accepted. Even higher level authorities like biden and trump uses it all the time (
-
still in alpha development, the bot uses simple regex expression to check repetition of same words in a sentence more than 3 times ( it's not the best way ), and consider it as spam. example typing "aaa aaa aaa" will be flagged as spam. There are more better approach to making the spam filter more accurate.
-
i could also say "sh*t" == Ship High in Transit so im free to use the word Sh*t in the lobby then. I personally wouldn't count wtf as bad word as far as its not spelt out. If its agreed to be used in the lobby, why not. We follow protocols.
-
@chrstgtr the bot doesn't have permission to mute users yet. It does send a report to moderators and lobby helpers whenever it detects profane or pejorative in the chat. It also alert players not to use that word. Incase you got muted by any means, it is not related to the bot but instead a moderator or lobby helper took that action. Could be several reasons: wtf itself shouldn't be used in the lobby as its obviously "what the f*ck" not "will to fight" . If you are getting reported for typing wtf when it you meant will to fight then its advisable to type the full word Spam: the bot itself has cooldown features which allows it to decide if it has already responded to what a user said within a certain duration and stops responding to the same message until the cooldown is over Upon checking, the mute action was taken by a moderator because wtf is considered "what the f*ck" and has nothing to do with the bot itself. The bot will of course alert moderators whenever there are profanes in the lobby. Thanks for the report, don't forget to report any unusual activities in the lobby as the bot is in alpha stage, we will continue to work on it
-
pretty easy with c++ i think using libsodium, we can do #include <string> #include <sodium.h> class XMPPUser { private: std::string m_jid; std::string m_username; std::string m_hashedPassword; // store hashed password using libsodium u16 m_rating; u16 m_gamesPlayed; u16 m_gamesWon; u16 m_gamesLost; public: // add member function to change password bool ChangePassword(const std::string& newPassword) { // generate random salt unsigned char salt[crypto_pwhash_SALTBYTES]; randombytes_buf(salt, sizeof(salt)); // hash new password using Argon2id with the salt if (crypto_pwhash(m_hashedPassword, sizeof(m_hashedPassword), newPassword.c_str(), newPassword.length(), salt, crypto_pwhash_OPSLIMIT_MODERATE, crypto_pwhash_MEMLIMIT_MODERATE, crypto_pwhash_ALG_DEFAULT) != 0) { // hashing failed return false; } return true; } }; This adds a ChangePassword member function to the XMPPUser class. This function uses the crypto_pwhash function from the libsodium library to hash the new password using Argon2id with a random salt. If the hashing is successful, it updates the user's hashed password and returns true. Otherwise, it returns false.
-
@smiley @Dunedan According to this, The IXMPPClient2 class defines a ChangePassword method that takes a newPassword as an argument and returns a bool indicating whether the password change was successful. Best way to implement this method, we need to authenticate the user, verify that they are allowed to change their password, and then update the user's password in the data store (e.g., a database or password file) to the new password provided. If the passwords are stored locally, we could use the fs module in js to read and write the password to a file on the local filesystem. the ChangePassword method reads the user's current password from a file using the fs.readFileSync method. It then checks if the provided password matches the password in the file. If the passwords match, the method hashes the new password and writes it to the file using the fs.writeFileSync method. Finally, it returns a true value to indicate that the password change was successful. Suppose we are to use js we could do something like this // Import the required libraries const fs = require('fs'); const bcrypt = require('bcrypt'); // Set the number of salt rounds const saltRounds = 10; // Define the IXMPPClient2 class class IXMPPClient2 { // The ChangePassword method takes a new password as an argument async ChangePassword(newPassword) { // Read the user's current password from the file const passwordFile = `user.cfg`; const currentPassword = fs.readFileSync(passwordFile, 'utf-8'); // Check if the user is authenticated (i.e., they provided the correct password) if (bcrypt.compareSync(currentPassword, currentPassword)) { // Hash the new password and write it to the file const newPasswordHash = bcrypt.hashSync(newPassword, saltRounds); fs.writeFileSync(passwordFile, newPasswordHash); // Return true to indicate that the password change was successful return true; } else { // Return false to indicate that the password change failed return false; } } } better still we could use the existing hashing method if we don't necessarily have to use bcrypt
-
once again, i agree. You could feel the supremacy in his comments. Being good doesn't mean stumble on bad players. If a player is in your team and not playing well, there are better ways to let the person know instead of insulting. I completely understand where you are coming from @shft. A little dip of politeness could change everything when trying to talk to a player that's playing bad in your team. Simple Politeness Theory negative politeness strategies: performed to avoid offense through deference ( in most cases this is you) positive politeness strategies: performed to avoid offense by emphasizing friendliness. Most players will gladly listen to you if you talk to them in the right way. Like the attachment above: as far as the people you are dealing with are okay with it, nobody will stop you. When a player is not okay with it , thats when to limit it. After all nobody is trying to change your behaviour. The main aim is protecting the community itself cause there are children 13 and below who also play the game
-
Suggestion - Reset all ratings and change the system
rossenburg replied to Wendy22's topic in Help & Feedback
i thought of this too, resetting ratings every alpha would be better. Most 2000+ players do not move on unless they find a player >= 1900 to play with. Lorenz123 left the game years ago and somehow still remains in top 100 till now, i think he's in top 15. This is because higher players needs to play with other higher ranked players in other to get good ratings. If there's no higher ranked player to play with, the leaderboard is just stagnant. I bet 80% of the top 100 players are offline for years, making it hard for the leaderboard to move as its supposed to -
ye the hands are faster than the mind
-
i completely agree, recently bought AOE4 for $45 or so and instantly regretted. It's just too realistics doesn't feel more like an rpg. I bet 0ad is way better as compared to AOE4 from my POV. Faster and competitive games, requires smart approaches and fast thinking to overcome opponents, that's what RPG is all about. In AOE you cant use a scout to gather food, women can take forever to gather etc. The only best thing about AOE4 is their graphics. If we are to compare 0ad with AOE4 headon, i definitely would say 0ad stands out. About time people should get to know 0AD #0adtotheworld
-
Valirhant is a wise man.
rossenburg replied to vinme's topic in Introductions & Off-Topic Discussion
Big ups. -
He almost does this in every single game , regardless of your age or position. Sometimes he insult literally for no reason at all. I try hard to understand him but no point. So far the best solution is to mute him or if you are host just prevent him from joining your games. There are rules in the lobby itself. This behavior in the main lobby is solely prohibited as you know. But during game, i believe players needs to take actions themselves, ignore, mute, kick or ban him. Rage is almost in every gaming community and it's understandable by me but he really over do it . Insulting player's parents, telling people to commit suicide etc is a very dangerous thing to overlook. I hope @user1 @Stan` looks into this
-
there you go, https://trac.wildfiregames.com/browser/ps/trunk/binaries/data/mods/public/gui/options/options.xml
-
take a look at options.xml
-
maybe check the sprite file, you can adjust the ui there?
-
Why music is not respected as an art nowadays
rossenburg replied to Pemulis's topic in Introductions & Off-Topic Discussion
Gone are the good old opera days -
Hello @Conisco, at the moment - there's no password recovery feature yet. You can either contact @user1 , @Dunedan, or any of the moderators to help you get back into your account.