Jump to content

City Info Tracker for Homecoming


Recommended Posts

For those unaware City Info Tracker was a site to track your characters on Live. It went inactive once game servers shutdown however Leandro's private server had their own CIT which means Homecoming coul have their own too if they so choose.

 

This site was used to track badge progress, influence, salvage, recipes, auctions, enhancements, ae tickets, reward merits. The site would take a picture of your character and upload to your characters profile on CIT

 

It can track which shards your characters are on. (Indomitable, Everlasting, Torchbearer, ect) In your account tt lists all your characters across all shards in an easy to order list, you could change it based on AT, Shard, Name in alphabetical order, ect.

 

There were privacy options such as hiding Influence, Global Name as well as characters from your profile.

 

It also tracked Server wide stats such as how many of each AT were created and existed, top 10 most played powersets, the ratio of heroes to villains, ect.

Link to comment
Share on other sites

I would be interested in a Homecoming CIT.

 

I would guess that it is in their plans to get going at some point now that things are sort of pretending to normalize.

Always happy to answer questions in game, typically hanging around Help.
Global is @Zolgar, and tends to be tagged in Help.

Link to comment
Share on other sites

CIT is dead. I'm personally guessing the person in charge of CIT was involved with SCORE at the time. He apparently is too lazy to deal with the new servers (seriously, with the reason given, it's not really much of an excuse to not work with the new servers) or he's lying and wants to hide his involvement with the SCORE personal server (which knowing that score had their own CIT seems far more likely).

Link to comment
Share on other sites

It should be possible to build a new daemon that queries the data from the running shard and builds CIT-style pages on the server itself.

 

This would in total be more efficient and simpler than making HeroStats work with the updated clients, given that it relies on reading the memory layout of the running client, and that can change every time the client is recompiled.

Link to comment
Share on other sites

It should be possible to build a new daemon that queries the data from the running shard and builds CIT-style pages on the server itself.

 

This would in total be more efficient and simpler than making HeroStats work with the updated clients, given that it relies on reading the memory layout of the running client, and that can change every time the client is recompiled.

 

I'm out.
Link to comment
Share on other sites

It should be possible to build a new daemon that queries the data from the running shard and builds CIT-style pages on the server itself.

 

This would in total be more efficient and simpler than making HeroStats work with the updated clients, given that it relies on reading the memory layout of the running client, and that can change every time the client is recompiled.

 

 

Sounds good

Link to comment
Share on other sites

I would be interested in a Homecoming CIT.

 

I would guess that it is in their plans to get going at some point now that things are sort of pretending to normalize.

 

Due to the fundamental disconnect (and likely looking to avoid legal issues), the original CIT/Titan group has chosen to remain separate from the existing servers and has no plans to bring back CIT. That said, that doesn't mean somebody Else in the Homecoming community couldn't come up with their own thing. If they Did, then it'd be sooo cool and we'd love to see a mobile friendly version. ;)

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired  <||> Generally Inactive


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  Heroica! (by @Shenanigunner)

 

Link to comment
Share on other sites

  • 2 years later

Empathy Resurrect.png Resurrect!

I've been trying to keep an eye on this since Homecoming launched and it looks like it's going nowhere. I would like to change that. I have very little programming knowledge and experience (I'm a web designer, so I can make it look pretty, but I can't really make "it"). I do have access to a shared hosting account, and potential access to a personal dedicated server to host a CIT like site/resource. All I really need is to know how. Is there anyway I can just clone CIT and point it at Homecoming? Any programmers out there who just need a server to work with to make this happen?

 

I want to see this done.

- RC

 

"As long as everyone is having fun, you're not doing it wrong."

Link to comment
Share on other sites

  • 1 month later

I'm a web developer by trade, and if Homecoming offers a public API, it is relatively trivial to build something which displays the data.

 

I mean... *relatively* trivial. It's still a LOT of work, given the sheer quantity of content related to a single character, displaying it sensibly and efficiently/in a performant manner. And of course, any new content needs to be accounted for, etc.

 

I would offer to get involved... I mean, I could submit the odd PR here and there, depending on the stack (I'm a RoR dev)... but I'm reluctant to.

 

I once built a similar thing for DCUO (it was an Android app, but basically the exact same principle) and it worked so long as the devs kept their API content up to date... which slowly but surely they didn't, and I could no longer justify promoting an app which didn't work properly.

 

I also don't have a massive amount of spare time, which is a massive blocker.

 

But I would also like to see this become a thing again, so I'm not ruling my involvement out entirely, assuming anyone else is keen...

 

Of course, there's no API as far as I'm aware, so... computer says no

Edited by TalonGrayson
Link to comment
Share on other sites

Well, I can see two or three possible reasons this hasn't happened:

- "Privacy" concerns. (I couldn't think of a better term for it, it's not like it throws your actual RL data out there, but some people might not want their play tracked by others. This may have more or less weight with the devs we have.)

- Dev time. They just haven't had it high on their priority list.

- What got it to work before is broken and needs spaghetti voodoo to fix.

 

Or, of course, some mix of the three.

 

I wouldn't mind seeing it, personally. *shrug*

  • Thumbs Up 1
Link to comment
Share on other sites

Yup.

 

I would say privacy can be worked around easily enough by making it an 'opt-in' platform.

 

Dev time, noodle-voodle, and possibly other legal concerns around exposing NCSoft data to the public outside of a specific scope (i.e., the game itself) are all valid reasons not to have built an API... I want to say yet.

  • Thumbs Up 1
Link to comment
Share on other sites

The privacy issues/concerned would be easily enough to address, though I'm less sure about keeping proprietary date/code out of view of the public.

 

My programming knowledge is limited, but as I understand it CoH has no API build in, and one would need to be for something like a tracker to function? And with an API, that in itself would be a release/sharing of code to the public? At least if the API is generated 3rd party.

 

I'm starting to wonder if adding in-game interface to track and display desired metrics might be a more realistic route.

- RC

 

"As long as everyone is having fun, you're not doing it wrong."

Link to comment
Share on other sites

I'm told the current version of CIT which tracks all your character's items is unlikely to ever come to Homecoming because it would cause severe lag whenever the character database is pinged for updates. It works fine on a server with a few dozen regular players, but Homecoming's baseline player numbers are orders of magnitude higher.

  • Thumbs Up 1

"If you can read this, I've failed as a developer." -- Caretaker

 

Proc information and chance calculator spreadsheet (last updated 15APR24)

Player numbers graph (updated every 15 minutes) Graph readme

@macskull/@Not Mac | Twitch | Youtube

Link to comment
Share on other sites

13 hours ago, RoseClaymore said:

My programming knowledge is limited, but as I understand it CoH has no API build in, and one would need to be for something like a tracker to function? And with an API, that in itself would be a release/sharing of code to the public? At least if the API is generated 3rd party.

 

Any API would have to be developed 'in-house' to keep the code private (or at least under NDA). The purpose of an API of this sort (read-only) is to expose endpoints which external devs can access to view data, ideally in a nice digestible format like JSON. Said devs can then display said data in a nice pretty format on a web page or in an app, for example.

 

The data can also be used for analysis. Things like examining which enhancements are most popular on endgame Mind Controllers, for example.

 

What I did with Tyto, my DCUO app, was provide users with the most efficient gear purchases for their current combat rating, based on cost, highest CR boost, etc. A similar algorithm is plausible in CoX, based on all the data you could fetch across the system.

 

But I digress.

 

A periodically updated shadow database, where only the changes since the last update are pushed, served separately from the game servers (e.g., every 15 minutes, the game servers would update the shadow) may mitigate lag concerns. I don't think anyone would expect second-by-second updates, nor would it be reasonable to do so.

 

The API would then allow read-only, rate limited access to that shadow data.

 

It's all pretty standard stuff, really. It just doesn't currently exist, for reasons over which we can only speculate!

Edited by TalonGrayson
  • Thumbs Up 2
Link to comment
Share on other sites

@The Philotic Knight To be honest, I don't know the extent of its publication, nor how open the Homecoming code is compared to other servers.

 

An API would need to be Homecoming specific, too, since other flavours of CoH will have different things going on.

 

But short answer, no... but I'd like to find out more (not that I'm likely to be able to contribute to building an API)!

Link to comment
Share on other sites

@TalonGrayson after the long-running private server was publicly "exposed", Leandro was pressured into leaking the original source code, which he did, for a while. Then, like EVERYONE who was interested in CoH at the time downloaded a copy of it (including me, of course). Then, some data leaks came out after that with the original data files, assets like the graphics files, sounds files, etc. started leaking over time. You can now download those "historical dumps" (heehee! 😛 ) here:

 

https://wiki.ourodev.com/view/Magnet_Links

 

For the main code, it should be the one named SCoRE Source, first one listed. For the data files, I believe that somebody took all of those separate Data leaks and merged them all into the one that's listed as "i25 p2 data-master". I could of course be wrong, but everything to "recreate" the original version of "Homecoming" at the time of the leaks' release should be there, somewhere amongst all those files.

 

Now, those don't include any changes that HC has made since the leaks happened, but from my understanding of the history, the code itself is for the large part unchanged. Mostly what HC has changed is changing the memory system to make the game fully 64 bit, tweaking some powers data (using what are called ".def" files, which are basically just a flat/text file containing the settings for individual powers and other game settings), and adding additional assets/data files into the game. They've mixed and matched some things to cobble together the new sets, but as far as I'm aware, what they have NOT done since that original release was create any large new game systems.

 

So, for the most part, the code is the same. Theoretically, someone with expert knowledge on C/C++ could read, comprehend, and understand the original source code, put together their own working version of the server, and then make the bare minimum changes necessary to the code to "expose" and create an API. Then offer that modified code to the HC team, who could then implement the changes into their code, thus saving themselves tons of time.

 

Theoretically.

 

Won't be me though. I'm only a marginally functional C# developer, who when looking at the original game source, feels like an ape smacking a soda machine with a wrench to try to get it to spit out a soda... but I comprehend enough to navigate the code, for the most part. If I had that as my full time paid job, I'm sure I could create an API, within about a year, but I have another job I get paid for, and not enough time to do such a thing.

 

I suspect that the HC Devs could also MUCH more easily create an API, but again, the main constraint is time, since this is their "hobby" project, and someone else has to pay them to do other jobs in the real world, presumably.

Edited by The Philotic Knight
  • Thumbs Up 1
I'm out.
Link to comment
Share on other sites

That is incredibly interesting, and I'm going to look into it; I have extremely limited C/C++ knowledge (read: I muck about with Arduino in my spare time, and usually it takes me an hour to figure out how to do very simple things).

 

I'm also employed by someone who pays me money to not know what I'm doing  spend all day on StackOverflow  swear at failing tests  deny it's my code that caused the error  write software, so yeah, not hugely likely to be me who creates an API, either. But I guess if the software is open source I could take a look... maybe I could stream working on it just to really bore my already dwindling audience... not sure of the legality on that.

 

Even with an API built, it would need pulling into the main codebase. I wonder if any of the HC devs could confirm/deny their interest in this as a roadmap item?

  • Haha 1
Link to comment
Share on other sites

@Number Six what do you say? You appear to be the head "tech" around here... if some other programmer did most of the "heavy lifting" and got a working prototype API created on their own instance of the leaked i25 code, would you all be open to integrating it into your modified HC source?

 

Your silence, if there is any, will be taken as an "NDA, so can't comment". 😛

I'm out.
Link to comment
Share on other sites

I thought about this some more, and I think the only feature/service needed on the game client side is that shadow dump (*teehee*) into some external database.

 

Once the data has somewhere to live, any framework/language could be used to build the actual REST API, since that would be a completely separate service from the game client.

 

Maybe that was already obvious, but I didn't think it was explicitly mentioned, so I'm, uh, explicitly mentioning it.

 

I have absolutely no idea how the data is stored by the game client, or whether maintaining multiple database connections is possible, or whether writing data to 2 different databases simultaneously is possible, or whether that would cause lag/perceivable server strain, but perhaps it's actually plausible that real-time data shadowing could be a thing... maybe... if you think about it from a not knowing anything point if view...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...