Author Topic: City of Heroes Local Map and Sandbox Mode  (Read 60614 times)

Tiger

  • Underling
  • *
  • Posts: 15
Re: City of Heroes Local Map and Sandbox Mode
« Reply #40 on: December 24, 2012, 08:42:10 PM »
No; I should have been more clear. You can display the map edit UI, but without being connected to a server, you can't actually edit the map. all the map edits I've been doing have been by messing with the map files manually. You've not seen most of them, but I hope my Remains video will be completed tonight. I finished the most ridiculously complicated shot last night (about 8 hours for an 8-second shot; you'll know it when you see it) so I'm pretty certain I can be done with it today.
Is there any chance there is just a secret offset needed to be changed, that will enable map editing, without any type of server? I do not know much about packet editing, but if we did need the server, would it just be a few kilobytes or less in packets, or are you talking about a packet for each and every tiny thing such as say one to enable selecting objects, another to enable you to make the buttons on the menu press down, a set of packets that tells the client what each button does, and then say a packet for each unit/pixel that the selector tool is moved on screen. Might anyone have a beta CD or very early version, that might possibly have things more client-sided. For example in a small budget online game called "Impressive Title", early versions had more things client sided, and was far easier to hack then more recent versions:
http://en.wikifur.com/wiki/Impressive_Title

Arachnion

  • Elite Boss
  • *****
  • Posts: 642
  • Professional Cynic
Re: City of Heroes Local Map and Sandbox Mode
« Reply #41 on: December 24, 2012, 10:00:43 PM »
No; I should have been more clear.

*snip*

Hmm.. so then we can view the map edit GUI but not actually use it.... in demorecords?

:P
« Last Edit: December 24, 2012, 10:11:06 PM by Arachnion »
I'm all dressed up with nowhere to go
Walkin' with a dead man over my shoulder

Waiting for an invitation to arrive
Goin' to a party where no one's still alive

Tiger

  • Underling
  • *
  • Posts: 15
Re: City of Heroes Local Map and Sandbox Mode
« Reply #42 on: December 24, 2012, 10:52:27 PM »
No; I should have been more clear. You can display the map edit UI, but without being connected to a server, you can't actually edit the map. all the map edits I've been doing have been by messing with the map files manually. You've not seen most of them, but I hope my Remains video will be completed tonight. I finished the most ridiculously complicated shot last night (about 8 hours for an 8-second shot; you'll know it when you see it) so I'm pretty certain I can be done with it today.

Also, I'm going to ask that, if you find how to fool the client into giving you dev access level and console commands, please don't post it. We are going to have our own servers sooner or later, and we might reuse a lot of the dev interfaces in the game because, hey, they're there, no need to reinvent the wheel. While security though obscurity won't stop someone who's dedicated to finding this stuff, the point is to keep a "casual griefer" from deciding to wreck the server just because they had a fight with the supergroup.
Without getting too ahead of my self, will you also release some complied things that can be run local host so that you can play around locally with an editor, ie for example the Everquest 2 emulator:
http://eq2emulator.net/phpBB3/index.php
has complied server packs, for local use, even though the login server code is closed source.
Also the Earth Eternal Emulator:
http://planetforevergame.com:81/
is also closed source, but does (on a different website) have a older complied local host server.
I'm just terrified that say a city of heroes server, will be hosted but shut down before any complied/lite localhost servers will be released. I like to have my paws on something, and then put it on an eternal hard-drive, so that even if NCSoft shut down the server, I would still have something on my hard-drive.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: City of Heroes Local Map and Sandbox Mode
« Reply #43 on: December 25, 2012, 12:35:12 AM »
You also might be able to do more commands if you first type in this command first:
/textparserdebug

Note that /textparserdebug will only do something useful if you used Icon to launch the game. Otherwise it does something completely different, which is to execute a fairly useless test of the .txt and .bin file parser.

Icon overwrites the function call address of that command in order to call an internal function to set up a blank player structure. I needed an easy way to call a normally inaccessible function and just picked that one at random as it was a compatible function signature.

Without doing that, /createHero will not only not work, it will crash the game because the global "player" entity is a NULL pointer.

I have noticed that there is an "execute script' command.

exec charcreate.txt

/exec, as well as /createHero normally require client access level 9 to use, but Icon changes the command processor in memory so that they only need access level 0. That seemed to be the quickest way to get something working.

If you're serious about client hacking, PM me and I'll send a dev_access.key file that grants access level 10. I know what Leandro said, but my thinking is that you guys are going to stumble across where the AL is stored in memory eventually anyway, so having a few people using an access key isn't a huge deal.  Especially since the encryption key can be changed in a future client revision if necessary.

Sometimes I wonder if anyone inside PS realized the full extent of just how much of the client we have mapped out. Probably didn't want to know. :D
« Last Edit: December 25, 2012, 12:42:38 AM by Codewalker »

Tiger

  • Underling
  • *
  • Posts: 15
Re: City of Heroes Local Map and Sandbox Mode
« Reply #44 on: December 25, 2012, 01:10:24 AM »
Note that /textparserdebug will only do something useful if you used Icon to launch the game. Otherwise it does something completely different, which is to execute a fairly useless test of the .txt and .bin file parser.

Icon overwrites the function call address of that command in order to call an internal function to set up a blank player structure. I needed an easy way to call a normally inaccessible function and just picked that one at random as it was a compatible function signature.

Without doing that, /createHero will not only not work, it will crash the game because the global "player" entity is a NULL pointer.

/exec, as well as /createHero normally require client access level 9 to use, but Icon changes the command processor in memory so that they only need access level 0. That seemed to be the quickest way to get something working.

If you're serious about client hacking, PM me and I'll send a dev_access.key file that grants access level 10. I know what Leandro said, but my thinking is that you guys are going to stumble across where the AL is stored in memory eventually anyway, so having a few people using an access key isn't a huge deal.  Especially since the encryption key can be changed in a future client revision if necessary.

Sometimes I wonder if anyone inside PS realized the full extent of just how much of the client we have mapped out. Probably didn't want to know. :D

This was supposed to be a private message to Codewalker, and not a forum post, sorry, still getting used to this forum (only my 3rd day(
« Last Edit: December 25, 2012, 03:21:33 AM by Tiger »

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: City of Heroes Local Map and Sandbox Mode
« Reply #45 on: December 25, 2012, 03:00:55 AM »
Changing client access level in COH is mostly harmless. Unlike a lot of games, the server doesn't trust the client's idea of world state at all, so things like position and run speed can't be overridden -- you'll just rubberband back to where you should be. Even if you turn no clipping on client side, the server does full collision so it won't work. Most of the 'exploits' that have been found and patched over the years are serverside bugs rather than client/server trust issues.

A lot of the clientside dev commands either just display extra debugging info, or send commands to the server, which of course depend on having an elevated server access level to use.

Probably the worst thing you can do with client side access is enable selectanyentity, which lets you target anything, including untargetable things and yourself. Even that couldn't be abused much because the powers system differentiates between 'self' and 'friend', so powers like Clear Mind still wouldn't be usable.

However, that said, I don't want to spread it around too much, because there's always the possibility of bugs that can only be exploited with elevated client-side access.

The Fifth Horseman

  • Elite Boss
  • *****
  • Posts: 961
  • Outside known realities.
Re: City of Heroes Local Map and Sandbox Mode
« Reply #46 on: December 25, 2012, 08:47:22 AM »
Sometimes I wonder if anyone inside PS realized the full extent of just how much of the client we have mapped out. Probably didn't want to know. :D
Out of sight, out of mind.   ;D
We were heroes. We were villains. At the end of the world we all fought as one. It's what we did that defines us.
The end occurred pretty much as we predicted: all servers redlining until midnight... and then no servers to go around.

Somewhere beyond time and space, if you look hard you might find a flash of silver trailing crimson: a lone lost Spartan on his way home.

Ceremonius

  • Lieutenant
  • ***
  • Posts: 77
  • Here we are now! Entertain us! ~Nirvana
Re: City of Heroes Local Map and Sandbox Mode
« Reply #47 on: December 25, 2012, 10:56:37 AM »
Probably the worst thing you can do with client side access is enable selectanyentity, which lets you target anything, including untargetable things and yourself. Even that couldn't be abused much because the powers system differentiates between 'self' and 'friend', so powers like Clear Mind still wouldn't be usable.

Thought the target cmd within a zone is not a dev power O.o. Or do you mean within the complete gameworld? This one would be new to me :)
No Guts, No Glory! No Pain, No Gain!
One for all, all for one; Riders on the range!
No Guts, No Glory! We're taking a stand!
Ready to prove it again!
~Galaxy Rangers

ArachnosCommander

  • Underling
  • *
  • Posts: 13
  • www.ArachnosElite.com
    • www.ArachnosElite.com
Re: City of Heroes Local Map and Sandbox Mode
« Reply #48 on: December 27, 2012, 12:02:32 PM »
How did I miss this thread?

So, once you change the values, it sends you onto a map, but once you do you die instantly?

Watch the values of the health meter upon zoning, then just freeze the values before you die. If it still works, you should be able to freeze your health to keep you from dying so you can then move about the zone.

Servantes

  • Minion
  • **
  • Posts: 26
Re: City of Heroes Local Map and Sandbox Mode
« Reply #49 on: December 27, 2012, 01:15:13 PM »
(random thought) this reminds me back when playing CoH, I be alive in a mission I'd DC, people would see me still alive and suddenly when I log back in Id be dead outside the door, possibly the servers thought I was cheating or is it in the code to do that sometimes?

Arachnion

  • Elite Boss
  • *****
  • Posts: 642
  • Professional Cynic
Re: City of Heroes Local Map and Sandbox Mode
« Reply #50 on: December 28, 2012, 08:22:35 PM »
Aerial overview of the Kallisti Wharf office tileset, wireframe mode.



Because I thought it was interesting :P
« Last Edit: December 28, 2012, 08:37:18 PM by Arachnion »
I'm all dressed up with nowhere to go
Walkin' with a dead man over my shoulder

Waiting for an invitation to arrive
Goin' to a party where no one's still alive

Ceremonius

  • Lieutenant
  • ***
  • Posts: 77
  • Here we are now! Entertain us! ~Nirvana
Re: City of Heroes Local Map and Sandbox Mode
« Reply #51 on: December 29, 2012, 12:46:01 AM »
Aerial overview of the Kallisti Wharf office tileset, wireframe mode.

Why the heck is there a wireframe mode? Makes no real sense to me. This would actually mean you could liveedit the whole worldmap and tiles.
Isn't that normaly done before compiling the client? Or did they made the client THAT powerful?

Theory: There isn't actually any amount of third party dev tools. Wich would mean client = devtool. So our game client was the actual dev tool and we weren't just supposed to know O.o.
Haven't had a real look into the client. The only thing had I once done was to crosscheck the champions online client with the coh client ;).
« Last Edit: December 29, 2012, 12:55:16 AM by Ceremonius »
No Guts, No Glory! No Pain, No Gain!
One for all, all for one; Riders on the range!
No Guts, No Glory! We're taking a stand!
Ready to prove it again!
~Galaxy Rangers

FatherXmas

  • Elite Boss
  • *****
  • Posts: 1,646
  • You think the holidays are bad for you ...
Re: City of Heroes Local Map and Sandbox Mode
« Reply #52 on: December 29, 2012, 12:54:48 AM »
Why the heck is there a wireframe mode? Makes no real sense to me. This would actually mean you could liveedit the whole worldmap and tiles.
Isn't that normaly done before compiling the client? Or did they made the client THAT powerful?
How did you think all the models used in the game were stored as?  That's what is in the geom*.pigg files or in this case the mapsmissions.pigg file (I think).  Textures are always applied on the fly during the render.
Tempus unum hominem manet

Twitter - AtomicSamuraiRobot@NukeSamuraiBot

Ceremonius

  • Lieutenant
  • ***
  • Posts: 77
  • Here we are now! Entertain us! ~Nirvana
Re: City of Heroes Local Map and Sandbox Mode
« Reply #53 on: December 29, 2012, 12:57:14 AM »
How did you think all the models used in the game were stored as?  That's what is in the geom*.pigg files or in this case the mapsmissions.pigg file (I think).  Textures are always applied on the fly during the render.

Depends on the game/program. That was what I just wondered. Haven't really seen such thing in a MMO. They always just had an wireframe overlay, no actual real wireframe mode (in dev mode).
No Guts, No Glory! No Pain, No Gain!
One for all, all for one; Riders on the range!
No Guts, No Glory! We're taking a stand!
Ready to prove it again!
~Galaxy Rangers

FatherXmas

  • Elite Boss
  • *****
  • Posts: 1,646
  • You think the holidays are bad for you ...
Re: City of Heroes Local Map and Sandbox Mode
« Reply #54 on: December 29, 2012, 01:01:31 AM »
I think that's just a dump of the poly model brought up in another tool and not the game.
Tempus unum hominem manet

Twitter - AtomicSamuraiRobot@NukeSamuraiBot

Ceremonius

  • Lieutenant
  • ***
  • Posts: 77
  • Here we are now! Entertain us! ~Nirvana
Re: City of Heroes Local Map and Sandbox Mode
« Reply #55 on: December 29, 2012, 01:03:38 AM »
Well that would explain it to me ;).
No Guts, No Glory! No Pain, No Gain!
One for all, all for one; Riders on the range!
No Guts, No Glory! We're taking a stand!
Ready to prove it again!
~Galaxy Rangers

Hotaru

  • Lieutenant
  • ***
  • Posts: 77
  • Just a demo-loving fool in the Far East...
Re: City of Heroes Local Map and Sandbox Mode
« Reply #56 on: December 29, 2012, 01:08:22 AM »
Aerial overview of the Kallisti Wharf office tileset, wireframe mode.


That pic started the Mission Impossible theme in my head, and now it won't stop. You owe me a new brain.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: City of Heroes Local Map and Sandbox Mode
« Reply #57 on: December 29, 2012, 01:56:22 AM »
It's not really a "wireframe mode" per se. The map editor just shows the group that you have selected in wireframe when you click on something.

That is part of the client, btw, not an external tool. Unfortunately you can't do any actual editing without the server piece of it.

Ice Trix

  • Boss
  • ****
  • Posts: 184
Re: City of Heroes Local Map and Sandbox Mode
« Reply #58 on: December 30, 2012, 09:41:04 AM »
Aerial overview of the Kallisti Wharf office tileset, wireframe mode.

(snip)

Because I thought it was interesting :P

Neat.

I sometimes wonder about sandbox mode & mission architect - a way to jump into there would be amazing.

Joshex

  • [citation needed]
  • Elite Boss
  • *****
  • Posts: 1,027
    • my talk page
Re: City of Heroes Local Map and Sandbox Mode
« Reply #59 on: May 01, 2013, 08:26:39 PM »
Changing client access level in COH is mostly harmless. Unlike a lot of games, the server doesn't trust the client's idea of world state at all, so things like position and run speed can't be overridden -- you'll just rubberband back to where you should be. Even if you turn no clipping on client side, the server does full collision so it won't work. Most of the 'exploits' that have been found and patched over the years are serverside bugs rather than client/server trust issues.

A lot of the clientside dev commands either just display extra debugging info, or send commands to the server, which of course depend on having an elevated server access level to use.

Probably the worst thing you can do with client side access is enable selectanyentity, which lets you target anything, including untargetable things and yourself. Even that couldn't be abused much because the powers system differentiates between 'self' and 'friend', so powers like Clear Mind still wouldn't be usable.

However, that said, I don't want to spread it around too much, because there's always the possibility of bugs that can only be exploited with elevated client-side access.

Harmless my butt, my first visit to recluse's victory taught me that. had two enemy players approach me and just stand there for a minute so i started blasting them with my blaster, then... my character strated lag jumping and wouldn't attack. then one of them attacked.

so yeah it can be used as a PVP hack, but seeing as PVP wasn't a huge deal like it is in other games it's really more laughable than anything.


OK, I have the answer this thread needs, and no one go halfdonkeying this! we need something that works without bugs;

the goal of this project will be to force a player client to think it's the server client, that can probably be done easily in cheat engine, however if it doesn't have the ability to do the basic battle and record figuring due to a lack of serverside calculations, then;

I came accross a game moding forum recently when trying to do something I probably shouldn't to a game I wanted to play in a certain way (no not cheating)

ok, well, there are game parsers, things that can rip models and all thier libraries out of a game and repackage them back into the game after edits.

so the idea here is to monitor the game's calls for serverside calculations and write scripts that fill those gaps, then repackage them into the original file.

we can probably use codewalker's Icon to begin the hacking to make it work.

Once you have a computer that can reliably mimic the server client's necessary calculations then it is time to set-up an Ethernet address, connect another computer to it via ethernet cable, now edit a version of Icon on the 2nd computer to be a Client and tell it to attach to the ethernet address of the 1st computer.

from where it should be easier to work out any kinks.

once kinks have been worked out load more maps onto your 'server' you might need 1 Computer for each map (atlas park ETC. not mission maps, mission maps can be on thier own computer all at once)

once you have enough of the game on servers, now it's time to go back and set-up IP addresses instead of ethernet addresses, IP addresses will allow others to connect from any computer accessing the internet.

then we have a server!

note; the creation of Savefiles will be necessary for players to create accounts, We can utilize the sentinel extractor outputs and I can write a script to read and write to them from the server client. -so this part is last but easy for me to code.

if anyone is interested in going through with this, then post here, cause I wont be doing it allone lol. I may know a bit about computers and thier interactions and I might know a decent beginners amount of scripting but I don't know enough about cheat engine to do certain portions of this. if codeweaver is on board I'll go get links to the game modding programs.

If pushed I can code the server calculations. but that will be knew for me, though it will be helpful for me to learn at the same time.
« Last Edit: May 01, 2013, 08:43:48 PM by Joshex »
There is always another way. But it might not work exactly like you may desire.

A wise old rabbit once told me "Never give-up!, Trust your instincts!" granted the advice at the time led me on a tripped-out voyage out of an asteroid belt, but hey it was more impressive than a bunch of rocks and space monkies.