Combat Analysis Version 3.0 (Note this plugin will currently only work on English versions of the game client as it parses the combat chat log) View Clearer Image: Image1 Getting Started: 1) Download the .zip file from: http://www.lotrointerface.com/downlo...tAnalysis.html. 2) Extract the zip folder into your LOTRO "Plugins" directory: "Documents/The Lord of the Rings Online/Plugins" (you may need to create this folder if it doesn't already exist, which has to be called Plugins with a capital 'P'). Ensure you have the folder called CombatAnalysis directly inside the Plugins folder. 3) Open up the Lord of the Rings client (if not already running). 4) Type /plugins refresh. 5) Type /plugins load CombatAnalysis. In order to view your Combat Information, you will then need to: 6) Start logging your Combat tab (right click on the tab and click "Chat Logging" > "Start Logging"). - Note that if your Combat tab is not titled "Combat", you will either need to change its title in game before starting logging, or change the name of the file the application is looking for (in the "Edit" -> "Settings" option dialog). 7) Run the "CombatAnalysis.exe" file. (This file was inside the zip file, so should now be located inside your Plugins folder assuming you extracted it there in step 2. You can run the program from anywhere though, so copy it to your desktop if you like.) At this point, you should immediately be able to start seeing your own information in game in real time! To launch the plugin in the future, you will only need to repeat steps 5->7 (in any order). Understanding and using the Plugin in-game: View Clearer Image: Image2 Using the external application (and how to Connect with other players): View Clearer Image: Image3 IMPORTANT - Port Forwarding: If you use a Router, then for people to be able to connect to you, you will first need to ensure your Router is forwarding the relevant incoming traffic to your PC. 1) Firstly obtain your Computer's internal IP address and your Router's internal IP address: the easiest way to obtain this information is to open a command prompt (Start > Programs > Accessories > Command Prompt), type "ipconfig" and press enter. Alternatively, the same information is listed under the "Details" section of your network connection properties (which you can open via the Control Panel > Networking > Manage Network Connections > Status > Details). The "IPv4 IP address" field will tell you your Computer's internal IP address, and the "IPv4 Default Gateway" field gives your Router's internal IP address. 2) Next, open your web browser and enter in your Router's IP address (http://<Router Internal IP address>). This should take you to your Router's home page. One of the Settings here will say "Port Forwarding" or "Virtual Servers" or something similar. Navigate to that option. 3) Here you need to set up incoming "TCP" connections to be forwarded from an "external port" of your choice to your Computer's internal IP address (that you obtained in step (1)) on "internal port 11000" (or whatever you set the internal IP address to in the program's settings menu). Note the "external port number" is the one you need to give to people who want to connect to you. It is recommended you just use port 11000 for both the external and internal port to make things easier. Once you have done this, you should now be able to accept incoming connections. Note 1: You should only have to set this up once, and it will continue to work in the future. However, most routers will change your internal IP addresses when restarted, meaning you may need to repeat the process after restarting your router. If people are unable to connect to you, but they have been able to in the past, it's probably because your internal IP address has changed. Note 2: You can connect to computers within your network without settings up port forwarding (and without sending any data over the internet), by simply connecting to the internal IP address (and internal port number) instead. You can have clients connected from within the network and outside of the network at the same time. Note 3: There is no real added security risk involved when setting up port forwarding. If you do not have the application running, any incoming connections will simply be ignored.
Last edited by Evendale; Apr 15 2011 at 04:31 AM.
Elendilmir Evenwyn Burglar (sigh) Evendale Guardian
Other Information Skill Lists/Categories: Inside the CombatAnalysis folder you may notice a file called "Skills.csv". This file contains a list of the skills and category (resist types) of each skill for all classes. Currently though, it does not include any info for Hunters, Minstrels, Rune-Keepers, and Wardens. As such, if you connect to another player who is one of those classes, you won't be able to see a detailed breakdown of their heals/dmg per skill. Additionally, if you are one of those classes, when viewing dmg done stats by each category type, all the fields will be blank. There may be some inaccurate information still, and not all the information included in the file is used (eg: the threat info is ignored). If you do update this file, you will need to give the updated version to other players you are connecting to as well. If you make any additions or notice any errors, please send me your updates, and I'll hopefully be able to submit a much more accurate list with the next update. What happened to the old features? Combat Analysis 3.0 has required a large change to the plugin. Some features (large hits, configurable update frequency, customizable colors, etc) have not yet been reimplemented, but most of these things will probably be improved and re-added at some point in the future. List of Text Commands: /plugins load CombatAnalysis: Loads the plugin. /plugins unload CombatAnalysis: Unloads the plugin. /ca show: Shows the UI. /ca hide: Hides the UI. Advanced Information: What Information is shown? When not connected to anyone, you will see all your own damage done, damage taken, healing output, heals received, power given, and power received (and all that same information for any of your pets). When you do connect to someone, you will also see their damage done, their damage received, their healing output, and their power output. (Note, you don't see any heals or power players you are connected to received, unless it was a heal/power restore from you or someone else you are connected to. The only exception to this are item procs and other heals that come from non-player sources, which you will see for everyone you are connected to.). You can see a full breakdown of per skill information for all dmg done, healing and power of yourself and everyone you are connected to (for players you are connected to, this is subject to the skill being specified in the "Skills.csv" file as mentioned above). Currently, you can only see a breakdown of damage taken information per skill for yourself (not other players). Detecting Player Name: The Combat Analysis application is able to detect your player name immediately when the plugin is loaded in game (when you type /plugins load CombatAnalysis). Note: As such, you must run the plugin in game as well as start your Combat Tab logging for your data to be parsed. Totals: The top value in the "Encounters" window shows you all the total values since parsing began (since the application was run). It will continue recording even if you switch characters (with the new combat information being recorded against the new character, and shown alongside the old information). You can "Reset" the totals encounter information at anytime by selecting it from the dropdown box and clicking the "R" button. This will begin counting from zero again. Detecting Pet Names: With the new combat logs, it is now much more difficult to detect Pet names. They can only be detected in the following list of situations: - Pet damages a mob that you have hit (or received damage from). - Pet is damaged by a mob that you have hit (or received damage from). - Pet heals itself. - Pet gives power to itself. In order to prevent you from potentially missing out on the first couple of lines of pet dmg/heals, the CombatAnalysis program saves your last 5 detected pet names. You can manually add/edit these names in the Edit > Settings dialog if desired. Combat Entry/Exit and DPS values: Encounters begin when you (or anyone you are connected to) enter/s combat, and end when you (and everyone you are connected to) leave/s combat. Because these values are based on actual combat starting and ending, they will generally be marginally lower than CStats parses (which begin on damage and end on a killing blow). Note that for latency reasons, players may see durations (and thus dps values) that differ by a few seconds from time to time. The DPS values are all calculated locally, so the relative dps values that you see on your screen are still accurate (given the way combat starting and ended is calculated as described above). The DPS values for individual mobs are calculated based on the start-time being when you (or someone you are connected to) first hit the mob (or was hit by the mob), and the end time being the moment the mob died (or when combat ends if the mob did not die) - this information is calculated locally when a defeated line is parsed. In the case where the mob is killed before combat ends, these values should, in gerenal, be directly comparable to CStats. The minimum duration on all fights is set to one second. Multi-Mob Encounters: If you are fighting multiple mobs with the same name, there is no way to detect which one you are hitting, so (like CStats) we make the assumption that you are always hitting the same mob, until it dies, and then assume you are now hitting a new mob (after a 3 second grace period). Data Preservation: Data is only lost when you close the CombatAnalysis application. You can unload and reload the plugin in game, and even switch characters, and the data from your last 50 encounters (and totals) will remain active. As soon as you close the external application, however, all data is lost (as it tidies up after itself by deleting all the files it has created). Performance Tuning: As the plugin is currently in beta stage, there are minimal options available for performance tuning. The default update frequency is set to every 10 frames, and this cannot be changed. Having said that, the plugin should be marginally more efficient than the previous version (with admittedly still a lot of room for improvement). Note on Bandwidth: The program should use a very minimal amount of bandwidth. While it does now send a non trivial amount of data, the standard messages have been optimized to contain only a few bytes of data. Having said that, it is important to note that the player who is hosting does receive messages from all players and has to forward each message on to all the other players. As such their bandwidth costs rise more than linearly with the number of players who are connected. Known Issues: Combat Starting on damage: As an optimization, the program always ensure combat is started if player damage is detected in the log. Occasionally this can cause issues (if, for example, a bleed remains on a mob after you have left combat), and can result in the combat timer not ending. Pets with the same name: If multiple pets have the same name, then most players will see all the damage contributed to one of the pets. A pet with the same name as a player may also give some erroneous results. Additionally, giving your pet the same name as a mob could potentially cause issues around pet detection. Not all attacks shown in list: The list of attacks view currently only shows the first fifty attacks per skill. This will be fixed soon. Troubleshooting: 1) I have the plugin loaded and the application running but I'm not seeing my damage show up in game: This is most probably because you forgot to start logging your Combat tab. If your Combat Tab is being logged, it will show a little icon (in game) - when you click to start logging a line will also print out stating the name of the log file that has been created. The application (out of game) will also update immediately to show the date and number of the log that is currently parsing (the most recent one it found in your Lord of the Rings folder) - the icon will switch green if new data has been received since after the application started parsing that combat log. If the application says there is no log to parse (or the number shown doesn't match the file name shown in game), then it has been unable to find the combat log. The only reason this should happen is if your Combat tab has been renamed in game to something different from the default "Combat". You can either alter the name of the log files that the application should look for (under Edit->Settings - the value you enter will be saved on a per character basis for when you rerun the program), or alternatively you can just rename your combat tab in game back to "Combat" and restart logging. Another possibility is that you've deleted logs that you recorded earlier in the same day (LOTRO re-assigns the old values to newly created logs). If your application is parsing a log with the right date shown, but has a postfix number that is larger than the one on the file name shown in game, then either start and stop logging a couple of times in game (to increment the value), or delete the more recent log file and restart the CombatAnalysis application. 2) I am unable to connect to someone who is hosting: For some reason, occasionally people's computers may reject connections from certain people (even if they have set up port forwarding correctly). This is most probably the result of a firewall or some similar program. It is quite likely that they will be able to connect to you instead. 3) I was connected to someone, but suddenly stopped receiving data from them: On rare occasion, connections may be lost, and no notification of the termination reported. If you stop receiving data, just disconnect and reconnect to the host (this shouldn't happen often). 4) The application crashes unexpectedly: While the application has been fairly well tested, it is likely it will still crash on occasion. A message should be displayed giving some details. You can just restart the application, reconnect, and continue. If you want, send me a PM (on the LOTRO forums - username: Evendale) with details of the error, and I'll see if I can upload a fix for it. Source Code: The source code for the external app is written in C# and is available for download from (visual studio project files included): http://www.mediafire.com/file/uezoeb...ysisSource.zip You can compile and run the source code as an alternative to running the .exe file if desired. Desired Future Features: - Track debuffs as well as buffs. - Show when important skills (engage, rising/ebbing ire, in harms way, bubbles, etc) are used/resisted. - Restore the "large hits" functionality, and add more customization, and tracking over time. - Display up-to-date information about other player's current health and (more importantly) how their health level has changed over the last few seconds. - A Threat Meter (if the LUA API is ever improved such that enough information is included to make this possible). - Translations to German/French. If anyone wants to help work on this, send me a PM. Change Log: Hotfix 1.0.1 (10 Jan 2011 23:15 EST): - Fixed a potential crash that sometimes occurred when clients joined/left a server. Hotfix 1.0.2 (11 Jan 2011 09:00 EST): - Fixed a crash that could occasionally occur if damage was taken while out of combat. - Fixed a crash that occurred when someone in your fellowship retreated if your Combat Tab included the standard filter. - Additionally, damage from an unspecified source (such as the bleed in the Watcher room) is now included. Update 2.0.0 (3 Feb 2011 23:00 EST): - Major overhaul to entire system. Many new features and improvements. Some key new features are listed below * sticky windows & window links * dmg taken breakdown by type * dmg taken, heal and power info parsed and sent between players * improved UI customization * better tracking of pets * ability to block users * large hits BETA * improved performance in-game * improved performance in application * reduced bandwidth usage Some key bug fixes from the first version are listed below * reflect damage now included * non standard damage types now included * pets with spaces in their names (default names) can now be parsed correctly * players with "-1" at the end of their name now have their information parsed correctly * combat no longer hangs when killing a mob quickly Hotfix 2.0.1 (4 Feb 2011 08:00 EST): - Fixed a significant issue that caused the host to frequently send invalid info to clients (when 3 or more people were connected). - Incoming pet heals are no longer counted twice. - Fixed an error that could print in game if certain windows were closed while updating. Hotfix 2.0.2 (4 Feb 2011 23:00 EST): - When displaying dmg/heal/power info in text mode, the values are now displayed correctly and no errors will be printed to the chat window. - Partial pet avoids from mobs with long names no longer parsed as damage taken by the player. Update 3.0.0 beta (14 Apr 2011 21:00 EST): - Another major overhaul to entire system. Updated to work with new logs and complete UI update. Some key new features are listed below * updated to work with the new combat logs * tabbed pane frees up screen room * resizable UI * dmg/heal/power info broken down per skill, and per attack * stats info added
Last edited by Evendale; Apr 15 2011 at 04:29 AM.