Jump to content

Agent

Former Developers
  • Posts

    1271
  • Joined

  • Last visited

Everything posted by Agent

  1. It's currently sorted by total_score, just like the previous leaderboard (and every other Renegade ladder I've ever seen), and is already loaded onto the stats bot for testing. There may or may not be database resets, as testing and additions progress. To view your rank in-game, type ".ladder" in team or public chat. The web interfaces haven't been started on yet at all, so that will come later. Assuming nothing else gains priority on my to-do list, I should be starting on a web interface before too long. Possible future features: * (Time consuming) Detailed web interface * (Easy/quick, if above is implemented first) Data retrieval interface for server owners * (Easy/quick) All-time/Yearly/Monthly/Weekly/Daily leaderboards. * (Unknown/Low priority) Detailed in-game interface (pause menu? Load web interface as webpage?) * (Easy/moderate time/Low priority) Player-configurable bitfield to determine a player's ".ladder" output. * (Time consuming) Networking capabilities to share ladder data (and other data) between multiple Jupiter bots (likely a hub/leaf structure), to enable non-global multi-server implementations, as well as better network load distribution.
  2. You should also be able to make your own gamemode, though I haven't tested if this automatically transfers from server to client (it should, though). Just extend Rx_Game, and your server command line could be something like: start Binaries\Win32\UDK.exe server CNC-Field?game=Thundernerd.TS_Game This assumes a package named "Thundernerd" contains a class named "TS_Game" extending Rx_Game. Alternatively, make a mutator using the aforementioned tutorials.
  3. Agent

    Bot Version: 1.1.0

    Can you PM me your mods.ini file?
  4. Yeah, SPM is nice and easy to calculate; it's just total_score / total_game_time * 60. Does it look something like this?
  5. I think M13 was supposed to be a bonus mission -- it just happens to be played before M01, lol.
  6. M00_Tutorial is the first iirc.
  7. M04 (the one where you're on the ship) was always my favorite map to play co-op on, iirc. Please add. (That said, it was a heavily modified server, with a bunch of other things, too. EKT-Dean knows exactly what I'm talking about)
  8. Thanks very much for the feedback. To clarify, this is just trying to figure out the default output for the "ladder" command -- nothing to really do with join messages, nor recommendations, nor team balancing. I'm also trying to figure out if there's any other data what-so-ever that should be tracked (it's better if have a little extra, than not enough). The current format again, generates this example: #1: "Jessica!" - Score: 69463 - Kills: 4 - Deaths: 3 - KDR: 1.33 - SPM: 18.41 I'm wanting to avoid adding a ton of commands, so I'll probably change the ladder command's input from "ladder [rank|name]" to "ladder [rank|name] [var]" eventually; thanks for the suggestion! It would technically be possible to add some sort of bitfield to entries, to determine logging output, so you could toggle what stats you want displayed about you in-game. If/when I eventually deploy this globally, it'll likely use '.' instead of '!' as the command prefix, to prevent conflicts with other server-specific systems. As far as more data: I may add total_gdi_game_time, total_nod_game_time, top_gdi_game_time, and top_nod_game_time, as well as other gdi/nod variables. As far as command output format: I'm thinking Vehicle Kills and Building Kills would be nice additions. As far as commands implemented: [COMPLETED] ladder [rank|name] [PLANNED] top5 [PLANNED] ladder [rank|name] [var] As far as access by server owners: I plan to eventually add an web interface with this, run on the stats bot itself. So there'll probably be some sort of easy-to-parse URL for server owners like "ladder.renegade-x.com/data?steamid=00000000&vars=total_score%2Ctotal_kills%2Ctotal_game_time", or perhaps some other mechanism. Thanks for the suggestions and feedback!
  9. One of my current projects is a bot-side ladder system, which can be deployed on a per-server basis, as well as potentially (probably) globally. This system is more-or-less done with its initial testing phase, and should be committed to my GitHub before too long. This ladder collects and maintains a lot of player stats as well -- everything from total score, to GDI wins, to game-time, to the most kills/deaths a player has had. It requires users to be using Steam in order to be added to the ladder, and updates on GameOver. More specifically, here's the data stored in each entry (so far): uint64_t steam_id, total_score; uint32_t total_kills, total_deaths, total_headshot_kills, total_vehicle_kills, total_building_kills, total_defence_kills, total_captures, total_game_time, total_games, total_gdi_games, total_nod_games, total_wins, total_gdi_wins, total_nod_wins, total_beacon_placements, total_beacon_disarms, total_proxy_placements, total_proxy_disarms, // totals (15) top_score, top_kills, most_deaths, top_headshot_kills, top_vehicle_kills, top_building_kills, top_defence_kills, top_captures, top_game_time, top_beacon_placements, top_beacon_disarms, top_proxy_placements, top_proxy_disarms, // tops (12) most_recent_ip; // other (1) time_t last_game; Jupiter::StringS most_recent_name; I can always add more data to each entry, as well. When I eventually add a web interface for this (it'll be a while), most of these variables (everything but IP) will be viewable on a player's profile. In the meantime, however, I'm trying to figure out what I should include in the "ladder" command's output. So far, it's pretty bland: [22] <~Agent> !ladder 1 [22] <@Comis> #1: "Jessica!" - Score: 69463 - Kills: 4 - Deaths: 3 - KDR: 1.33 - SPM: 18.41 (SPM means "Score Per Minute") So with this in mind, I want to know what the community values when it comes to stat visibility. I'm asking everyone: What should be shown? Thanks, Agent
  10. Agent

    Bot Version: 1.1.0

    1) Make sure "RenX.ModSystem" is listed in the plugins in Config.ini 2) If you're using the IRC feature on this bot, it's easiest to just add mods via !add (i.e: !add 3 user). 2a) The "add" command is far from perfect, but essentially the digit is the group number in the group list, and the user is the name of someone in-game. If I get time, I may later change this to be "add ", or something. 3) Here's an example Mod entry below, which would automatically be generated by the aforementioned command, but you can also add manually: [76561198038779494] SteamID=76561198038779494 LastIP=0.0.0.0 Group=Owner The section name is the UUID; if you're using the RenX.NicknameUUID, for example, it would be the nickname of the user (they would then have to use that nickname to have moderator privledges). 3a) If you modify Mods.ini while the bot is running, you must use the "rehash" command or restart the bot for changes to take effect. 4) If you want your moderators to automatically identify when using Steam, make sure the following line is still at its default value (true) up top. AutoAuthSteam=true
  11. Name = Ehx X Global Defense Initiative [GDI] = United Defense Initiative [uDI] Brotherhood of Nod [Nod] = Don Initiative [Don] (just because "Hand of Don" sounds great haha) Havoc = Lefty
  12. OpenRA is a pretty nice project; I'd definitely recommend it if you're looking to play some Red Alert.
  13. What that screenshot doesn't quite show is that I was the one who the person tried randomly kicking. It was rather funny though, haha.
  14. I'll start managing this, since it's fairly easy.
  15. I should be able to make this today.
  16. Here is the TSVehicle crate. class Rx_CrateType_TSVehicle extends Rx_CrateType; var transient Rx_Vehicle GivenVehicle; var config float ProbabilityIncreaseWhenVehicleProductionDestroyed; var array > Vehicles; function string GetPickupMessage() { return Repl(PickupMessage, "`vehname`", GivenVehicle.GetHumanReadableName(), false); } function string GetGameLogMessage(Rx_PRI RecipientPRI, Rx_CratePickup CratePickup) { return "GAME" `s "Crate;" `s "tsvehicle" `s GivenVehicle.class.name `s "by" `s `PlayerLog(RecipientPRI); } function float GetProbabilityWeight(Rx_Pawn Recipient, Rx_CratePickup CratePickup) { local Rx_Building building; local float Probability; if (CratePickup.bNoVehicleSpawn || Vehicles.Length == 0) return 0; else { Probability = Super.GetProbabilityWeight(Recipient,CratePickup); ForEach CratePickup.AllActors(class'Rx_Building',building) { if((Recipient.GetTeamNum() == TEAM_GDI && Rx_Building_WeaponsFactory(building) != none && Rx_Building_WeaponsFactory(building).IsDestroyed()) || (Recipient.GetTeamNum() == TEAM_NOD && Rx_Building_AirStrip(building) != none && Rx_Building_AirStrip(building).IsDestroyed())) { Probability += ProbabilityIncreaseWhenVehicleProductionDestroyed; } } return Probability; } } function ExecuteCrateBehaviour(Rx_Pawn Recipient, Rx_PRI RecipientPRI, Rx_CratePickup CratePickup) { local Vector tmpSpawnPoint; tmpSpawnPoint = CratePickup.Location + vector(CratePickup.Rotation)*450; tmpSpawnPoint.Z += 200; GivenVehicle = CratePickup.Spawn(Vehicles[Rand(Vehicles.Length)],,, tmpSpawnPoint, CratePickup.Rotation,,true); GivenVehicle.DropToGround(); if (GivenVehicle.Mesh != none) GivenVehicle.Mesh.WakeRigidBody(); } DefaultProperties { BroadcastMessageIndex = 14 PickupSound = SoundCue'Rx_Pickups.Sounds.SC_Crate_VehicleDrop' Vehicles.Add(class'TS_Vehicle_Titan'); Vehicles.Add(class'TS_Vehicle_Wolverine'); Vehicles.Add(class'TS_Vehicle_HoverMRLS'); Vehicles.Add(class'TS_Vehicle_TickTank'); Vehicles.Add(class'TS_Vehicle_ReconBike'); Vehicles.Add(class'TS_Vehicle_Buggy'); } Yosh previously suggested that there's an off-by-one error, but there's not, and here's why. Rand() generates a "random" number number between 0, and the input - 1; in this instance, Vehicles.Length == 6, so Rand(Vehicles.Length) would generate a number between 0 (Titan) and 5 (Buggy). Adding a one to this wouldn't fix the problem -- it would just add a bug, instead. From a theoretical standpoint, I don't see anything wrong with this crate. From a practice standpoint, I have no idea why TS Buggys are so rare. Resolving this would likely involve using or writing some other sort of Rand()-type function. Tl;dr: The crate's code isn't broken, but it's broken.
  17. I approve of this message.
  18. Another fun and challenging PUG; looking forward to next week's!
  19. Yosh and I messed around with the upcoming patch for a bit, and the location replication would appear to be confirmed fixed, at the very least for mines on non-moving objects.
  20. Actually, there was a point where suicides counted as a kill as well. I think that was one of the first things I fixed haha. It wrecked my K/D in-game as a result though, because I have a tendency to just run up to people as an engineer with C4...
  21. Agent

    Skirmish LAN?

    I've been making an effort to make more posts and be overall more communicative, but I post most frequently when a bug is fixed. Plus, your second question actually amused me because the admin password isn't mentioned as an option or anything in the launcher, so I looked up the proper config variable so that you don't have to make a batch file for launching your server. It's good information to know.
  22. This is fixed and will be pushed with the next patch (no ETA).
  23. Agent

    Skirmish LAN?

    There are two ways to set your admin password: Method 1: 1) Open UDKGame\Config\UDKGame.ini 2) Scroll to the [Engine.AccessControl] section 3) Look for the line that looks like this: AdminPassword= 4) Change the aforementioned line to: AdminPassword=your_admin_password Method 2: In your server batch file, specify ?AdminPassword=your_admin_password just as you would any other option.
×
×
  • Create New...