Jump to content

Yekaterina

Community Members
  • Posts

    2.919
  • Joined

  • Last visited

  • Days Won

    48

Everything posted by Yekaterina

  1. However, most games in the lobby are either 1v1 or 4v4 or sometimes 3v3. 2v2s are quite rare. I think 4v4 should be given the option to be rated. If it crashes or DDOS then the host may terminate the game.
  2. I observe their gameplay and compare their macro and micro to known good players and what I would do in that situation. For example, booming can give away a smurf: a new account who reaches 170 population and 10:00 sharp without any extras is obviously a very experienced player behind. Or, if they go straight into abusing certain OP units (as you wouldn't expect new players to know so well which units are OP let alone spam masses of them). Anyone who dances has definitely played A23 - can't be new. Furthermore, they may resemble someone we already know but isn't active at the moment - that person becomes a suspect. However, these are small gameplay features that humans can detect by watching games but quite difficult for bots to know. I think non-obvious smurfs are not harmful anyways, could be someone who lost their account. In that case, playing with a smurf is identical as playing with someone who is usually not very active.
  3. Thank you for your detailed explanation. I think a smurf detection algorithm integrated into the server is a good idea and the server certainly should be able to know the creation date of accounts. My recommendation would be to improve the bots so that they send data about unrated multiplayer games as well, for a more complete player profile. There is one thing which I didn't understand: how can a smurf detection algorithm work on the server side? Smurfs are discovered by players who see a new account playing like experts and talking with 0AD jargons. I'm not sure how the server can tell these details. Furthermore, even if you do install such an algorithm, I would recommend only allowing it to flare up smurf suspects to the moderators instead of pre-emptively taking actions themselves. AIs are quite likely wrong and the lobby would be a mess if it bans a moderator or WFGbot.
  4. I would recommend making mercenaries susceptible to bribing as well. On top of that, I think we can add a feature which converts an enemy unit to our own, for example someone who walks into a crowd of enemy and shout "wololol" and changes the affiliations of units near him.
  5. I was alerted by that detail, and also the fact that I received 3 such invites in a 2 hours interval in each and every channel of all but 2 of the discord servers that I am in. That is always the best solution. Fortunately, I haven't been forced to take that step yet.
  6. I don't know where you got this data from and I don't think it is correct. Javelins have range of 35m and Bows have 60m Javlin attacks once every 1.25 seconds Bow has damage of 7 and Javelins 16
  7. Not at all. Javelin cavary will win in a close range battle because they have higher damage per second, whereas camels can take advantage of their extra range to harass units while standing safely from afar. Camel rush on infantry is fatal as they can escape easily then return when you want to retreat. On the other hand, if you would like to engage a huge army, the javelin cavalry's superior damage will make them to better option as they can wipe out enemy units more quickly to ensure a win.
  8. I'm no expert at Discord, perhaps the person who got infected can answer your question @Yekaterina
  9. @Darkcity given their historical background, I suggest we make them a special unit which only targets enemy heroes and kills the hero unit in 1 hit, by close quarter poison. Later on we can expand their hit list to champion units and elite units
  10. Solution for infected users: 1. Notify everyone that you are infected. 2. Contact server admins to delete the messages and kick you. 3. Change your password, log out of all of your devices then log back in. The hackers will likely lose access to your account. 4. If this does not work, make an alt account.
  11. @Jethew Goldgrub you can find all music and sound effects in public.zip, in the audio folder. Go to your installation folder, then binaries/ data / mods/public
  12. Seems like you have insufficient access right to open files in a certain directory, perhaps install the game at another location?
  13. @DarkcityI like your method of ranking smurfs, it will reduce the chance of wrong accusations. Problem: local ratings is just a number, sometimes it may be biased or anomalous. I would look closer at micro, eco and general playstyle instead of catching people out based on a single number. In addition, many players do not use local ratings nor would they have enough data for accurate ratings.
  14. Start with 0.5x, try to use control groups, hotkeys and autotrain to save your efforts while doing good micro. Then you can move up the speeds. There is little point going above 1.5x because normally games are at 1x. After you become a pro at 1x speed, I would recommend trying to play on Empire map for more micromanaging practice.
  15. Recently a server named "Family" has been infecting its members with malicious codes which automatically spams all of their server channels and DMs with duplicates of invite links to this server. The infected user will not realise until someone complains to them about spamming. If you see this invitation, please please DO NOT TOUCH IT and mute the user sending it as well as any server moderator. This phishing server is gaining members extremely quickly and the malware is spreading, so please don't help it rampage any further. The link looks like this:
  16. Translation of their points: 1. Acharya chanakya cannot be garrisoned in storehouse, farmsteads, so its bonus cannot be used. 2. Agis has no hero bonus, making him weaker than the others. Can we give him a second chance? 3. Chandragupta has no bonus, give him an additional hero bonus?
  17. 可以把驻扎换成在某范围内有效,比如30米。当然,我们可以给仓库一个驻扎名额。 有人讨论过这个。我个人认为可以给他1500生命值,使得他是一个超强的单个个体。或者我们让他跑得快,可以跳舞。 同理我们可以用A23的想法:一个2400-3000生命值的大象!
  18. I would like to see the following info: Date of creation, Total games played, both TG and rated
  19. See the creation dates of players' accounts
  20. @rossenburg this is my ProfilePage.js Am I looking at the correct file? If so, which line should I change? /** * The profile page enables the player to lookup statistics of an arbitrary player. */ class ProfilePage { constructor(xmppMessages) { this.requestedPlayer = undefined; this.closePageHandlers = new Set(); this.profilePage = Engine.GetGUIObjectByName("profilePage"); this.fetchInput = Engine.GetGUIObjectByName("fetchInput"); this.fetchInput.onPress = this.onPressLookup.bind(this); Engine.GetGUIObjectByName("viewProfileButton").onPress = this.onPressLookup.bind(this); Engine.GetGUIObjectByName("profileBackButton").onPress = this.onPressClose.bind(this, true); this.profilePlayernameText = Engine.GetGUIObjectByName("profilePlayernameText"); this.profileRankText = Engine.GetGUIObjectByName("profileRankText"); this.profileHighestRatingText = Engine.GetGUIObjectByName("profileHighestRatingText"); this.profileTotalGamesText = Engine.GetGUIObjectByName("profileTotalGamesText"); this.profileWinsText = Engine.GetGUIObjectByName("profileWinsText"); this.profileLossesText = Engine.GetGUIObjectByName("profileLossesText"); this.profileRatioText = Engine.GetGUIObjectByName("profileRatioText"); this.profileErrorText = Engine.GetGUIObjectByName("profileErrorText"); this.profileWindowArea = Engine.GetGUIObjectByName("profileWindowArea"); xmppMessages.registerXmppMessageHandler("game", "profile", this.onProfile.bind(this)); } registerClosePageHandler(handler) { this.closePageHandlers.add(handler); } openPage() { this.profilePage.hidden = false; Engine.SetGlobalHotkey("cancel", "Press", this.onPressClose.bind(this)); } onPressLookup() { this.requestedPlayer = this.fetchInput.caption; Engine.SendGetProfile(this.requestedPlayer); } onPressClose() { this.profilePage.hidden = true; for (let handler of this.closePageHandlers) handler(); } onProfile() { let attributes = Engine.GetProfile()[0]; if (this.profilePage.hidden || this.requestedPlayer != attributes.player) return; let profileFound = attributes.rating != "-2"; this.profileWindowArea.hidden = !profileFound; this.profileErrorText.hidden = profileFound; if (!profileFound) { this.profileErrorText.caption = sprintf(translate("Player \"%(nick)s\" not found."), { "nick": escapeText(attributes.player) }); return; } this.profilePlayernameText.caption = escapeText(attributes.player); this.profileRankText.caption = attributes.rank; this.profileHighestRatingText.caption = attributes.highestRating; this.profileTotalGamesText.caption = attributes.totalGamesPlayed; this.profileWinsText.caption = attributes.wins; this.profileLossesText.caption = attributes.losses; this.profileRatioText.caption = ProfilePanel.FormatWinRate(attributes); } }
  21. Is this information saved passed onto all of the clients (players) looking at this profile, or, is it stored only on a central location which the players do not have access rights to?
  22. This movie depicts the Qin dynasty, not Han Dynasty.
  23. @Darkcity select all units, hold down ctrl key and right click anywhere to attack move. This will make all of your units fight. İn settings, disable formation override
  24. So if we make the Aİ play once every turn, it will be more efficient than the best of humans? We can allow the Aİ to autotrain if it is struggling with micro.
  25. İ don't understand why the Aİ idles at all, considering the fact that computers have much higher APM than humans.
×
×
  • Create New...