These are chat archives for ZaneDubya/UltimaXNA

8th
Sep 2015
Zane Wagner
@ZaneDubya
Sep 08 2015 00:19
Thanks!
V
@TormentedEmu
Sep 08 2015 03:10
@ZaneDubya Hey Zane, its probably late but I sent in a pull request
Zane Wagner
@ZaneDubya
Sep 08 2015 13:06
@TormentedEmu Pulled it to master this morning. Thanks! You figured out why mount animations were broken - kudos! I extended your fix to all mounts.
V
@TormentedEmu
Sep 08 2015 13:06
@ZaneDubya Thanks cheers :)
Zane Wagner
@ZaneDubya
Sep 08 2015 13:07
Sadly, dragon chest pieces are still not showing up in the world. Wonder what's up with that.
Xen85
@Xen85
Sep 08 2015 13:47
@aza
this is ucs
from statics
@ZaneDubya you asked for a link ^^
Zane Wagner
@ZaneDubya
Sep 08 2015 15:38
Neat stuff!
Injection is beyond my abilities. :)
Jeff Boulanger
@jeffboulanger
Sep 08 2015 15:44
Injection is fine
fun*
Xen85
@Xen85
Sep 08 2015 15:44
but that hack is only for RP servers
he won't share it for other servers because it makes too easy cheating
InjectionDev
@InjectionDev
Sep 08 2015 15:45
yeah.. lol
Distribution: Free of charge, but not public. If you are interested contact with me and be ready to give some info about yout working or developing shard and prove that you are really developer\administrator of this shard. Nothing special, just way to prevent getting this software for people who are interested only in cheating on servers where it used.
Xen85
@Xen85
Sep 08 2015 15:45
yes
he is right
Jeff Boulanger
@jeffboulanger
Sep 08 2015 15:48
he wont be able to prevent that
someoen will troll him, act like they are making a server and then distribute it
gaurenteed
Xen85
@Xen85
Sep 08 2015 15:49
i know
but... he tries ^^
Jeff Boulanger
@jeffboulanger
Sep 08 2015 15:49
ya
so is that the same project as the videos under eccenseuo?
essenceuo*
however its spellee
d
V
@TormentedEmu
Sep 08 2015 15:52
I don't see how it could make it easier to hack, could someone explain that to me?
V
@TormentedEmu
Sep 08 2015 16:00
I meant, how does the ucs client make it easier to cheat on non rp shards?
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:02
injection allows you to modify the memory of the client, making it easier to do things, or to write bots
easyuo uses injection, razor uses injection, uoassist uses injection
and all of those make it easier to play UO outside the bounds of how UO was intented to be played
all of them either read memory, or hook the netcode
hooking the netcode allows for instant reaction based on what the server sends you, making it easier to write things like bot ai, to play your character for you, or do actions for you, faster than you'd be able to do them
V
@TormentedEmu
Sep 08 2015 16:09
Yes, but anyone who can write their own bot doesn't need easyuo, razor, or the ucs client to help them cheat
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:10
well, not if ucs has its own easy to use api
V
@TormentedEmu
Sep 08 2015 16:10
without knowing the api, and I think he wants to try to prevent cheaters so I wouldn't think that he would provide access to those bits of data
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:11
well, if you have the source, you have an api
V
@TormentedEmu
Sep 08 2015 16:11
his ucs is not open source, unfortunately
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:11
thats what he is saying tho
he will give the source to developers/admins of rp shards
V
@TormentedEmu
Sep 08 2015 16:12
No, I think you misunderstand. StaticZ will give out his tool to create a client embedded in a shell to basically protect shard owners from cheaters.
not the source code
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:13
ah
V
@TormentedEmu
Sep 08 2015 16:13
I already asked :)
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:13
well, such tools can be reversed
especially if its C#
V
@TormentedEmu
Sep 08 2015 16:13
I have access to all his tools
no, c and asm
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:13
ah that makes it more difficult
thats good
V
@TormentedEmu
Sep 08 2015 16:14
He did a good job of obfuscating the code
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:14
its C and Asm, no need to obfuscate
V
@TormentedEmu
Sep 08 2015 16:15
He added some tricks to hide what he is doing by using allocated memory and arrays of data to run code in
basically, it compiles all of your shard's files and client into one neat package, encrypted and run in a shell
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:16
ah
now we all know ;)
lolo
V
@TormentedEmu
Sep 08 2015 16:18
I personally would have thought writing a new client from scratch, such as this UltimaXNA client would have been a better idea, but thats just me
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:18
;)
V
@TormentedEmu
Sep 08 2015 16:18
and I like open source
If he could join this group, might make far better progress than making a hacky shell
But he doesn't like C# because of how easy it is to reverse
and I did agree on that
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:19
downside to his stuff is no one will be able to continue it when hes done
even if it were open source
InjectionDev
@InjectionDev
Sep 08 2015 16:20
thats the point
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:20
terrible point
V
@TormentedEmu
Sep 08 2015 16:20
how could no one continue if it were open?
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:21
cause most ppl dont do C/asm
V
@TormentedEmu
Sep 08 2015 16:21
ahh, but some do still ;)
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:21
sure, but most of those ppl probably wouldnt continue his project
look at razor for instance
its open source :/ and no one messes with it cause its 1/2 C++/asm/injection
InjectionDev
@InjectionDev
Sep 08 2015 16:22
fucking Crypt.dll
lol
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:22
its open source :/
V
@TormentedEmu
Sep 08 2015 16:22
but it doesn't need anymore does it?
what more could you possibly add to it :P
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:22
the C++ code?
V
@TormentedEmu
Sep 08 2015 16:22
razor
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:22
all sorts of stuf
you could cheat like a mofo
using razor's code
V
@TormentedEmu
Sep 08 2015 16:23
so learn asm! :)
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:23
i know asm
kinda back to my point ;)
i know it, i could modify it, but im not gonna
V
@TormentedEmu
Sep 08 2015 16:24
ahh, the real decisive factor: motivation
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:24
sure, but most cheaters will just write their own tools anyway
V
@TormentedEmu
Sep 08 2015 16:24
bingo
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:24
i dont disagree with you
on the whole not giving out his tool
to everyone
im just giving you his reasoning
but im also saying him not wanting to use C# is his own decision, but that makes his code unmaintainable to 99% of the emu population
so when he goes, so does his project if it ever stops working
V
@TormentedEmu
Sep 08 2015 16:26
Yes it probably would
If he released the source, I'd mull over it and see which made more sense to continue, it or the xna client
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:27
the problem with his stuff, is the 2nd EA changes compilers, it will all break
and they do, do that from time to time
technically each compile could break it, but hes obviously smart enough to do memory pattern searching
V
@TormentedEmu
Sep 08 2015 16:28
would take a lot of effort to change their code base, no?
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:28
to avoid most of that
they dont have to change their code base
sometimes compiling just re-orders the code
and the patterns you look for no longer match
thus, breaking certain features you may have
V
@TormentedEmu
Sep 08 2015 16:28
ida pro comes in handy
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:29
sure but you still have to find the new pattern, and then add that to your code
thats the maintainance that not many ppl would do
cause not many ppl know how
thats the down side to what hes doing
V
@TormentedEmu
Sep 08 2015 16:29
patterns can be found every release, its the nature of the beast :)
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:29
patterns can change
V
@TormentedEmu
Sep 08 2015 16:29
its fun to find them all over again
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:30
thats my point
V
@TormentedEmu
Sep 08 2015 16:30
like a game of chess
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:30
if the pattern changes it takes a real knowledgeable asm person to find the new ones and modify the C code to use the new pattern
V
@TormentedEmu
Sep 08 2015 16:31
I spoke to StaticZ a while back and he wasn't interested in writing a new client which is a shame :/
Zane Wagner
@ZaneDubya
Sep 08 2015 16:32
Referencing #334 - how does the server indicate to the client that it should render a message in unicode font?
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:32
its 2 different packets
one is unicode, one is ascii
0x1C vs 0x 0x1E?
double hexidecimal!
0x0x
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:33
public sealed class AsciiMessage : Packet
    {
        public AsciiMessage( Serial serial, int graphic, MessageType type, int hue, int font, string name, string text ) : base( 0x1C )
        {
public sealed class UnicodeMessage : Packet
{
    public UnicodeMessage( Serial serial, int graphic, MessageType type, int hue, int font, string lang, string name, string text ) : base( 0xAE )
    {
that help?
Zane Wagner
@ZaneDubya
Sep 08 2015 16:35
yes, thank you.
:)
InjectionDev
@InjectionDev
Sep 08 2015 16:36
@jeffboulanger did you play UO atm or own a server ?
Jeff Boulanger
@jeffboulanger
Sep 08 2015 16:40
nah, havent played uo in ages, and ran 3 servers back in the day, but nothing now
InjectionDev
@InjectionDev
Sep 08 2015 16:40
:)
V
@TormentedEmu
Sep 08 2015 16:41
@ZaneDubya I get an exception when loading the ExamplePlugin.dll and its because private static ushort[] m_Hues is only instantiated when called from Intialize->GetHueData, which the plugin does not call. My question is, could you move the instantiation to the declaration or a constructor?
Zane Wagner
@ZaneDubya
Sep 08 2015 16:42
@TormentedEmu Yep, that slipped though. Sorry...
Already fixed if you pull from master.
V
@TormentedEmu
Sep 08 2015 16:43
@ZaneDubya Hah, nice! I happen to have changed it and was asking you so I could put in a pull request but you beat me to it :)
Zane Wagner
@ZaneDubya
Sep 08 2015 16:47
A rare occasion, I promise you ;)
V
@TormentedEmu
Sep 08 2015 16:49
The same thing seems to be happening with the creation of the paperdoll in that m_IsFemale is not being set to true or false until the update is called
I just wasn't sure where you like to initialize things
This is why everytime I login, I get a male paperdoll. It does not change until I perform an action, such as dismount
PaperDollInteractable.cs line 51 is where it is set for the first time
in the Update method.
Xen85
@Xen85
Sep 08 2015 17:19
Part of ics Island in c#
Part of ucs ucs is in c#
I hate this cell
*phone
Jeff Boulanger
@jeffboulanger
Sep 08 2015 17:30
I thought it would be
specifically cause it says Switched to Microsoft .Net Framework 4.5
in his changelog
Zane Wagner
@ZaneDubya
Sep 08 2015 18:00
@TormentedEmu As for your comment about 'not knowing where I like to initialize things' - unfortunately, as you've noticed, it's a bit of a mess. This was my first c# project ever when I started back in 2009, and it shows. You'll find that as the features get more complicated, they're better coded, as I made it to them after I'd learned more about c# and programming. After M0.7, I'm going to sit down and rewrite the standards document, after which I'll do my best to make things conformant throughout the codebase.
Generally, at this time, if you can make a fix that will address a specific issue - in your case, loading the correct paperdoll - if you need to move it to the initializer, that's not a problem.
:shipit:
Jeff Boulanger
@jeffboulanger
Sep 08 2015 18:01
I dont think you need a standards document :)
Zane Wagner
@ZaneDubya
Sep 08 2015 18:02
I'm definitely a learn by doing kind of guy. I feel like I should write - or at least, rewrite the one we had - as a learning exercise.
Jeff Boulanger
@jeffboulanger
Sep 08 2015 18:02
ah
InjectionDev
@InjectionDev
Sep 08 2015 18:16
@ZaneDubya you have such great code abilities for a lawyer :D
Zane Wagner
@ZaneDubya
Sep 08 2015 18:33
haha thanks!
Jeff Boulanger
@jeffboulanger
Sep 08 2015 20:12
debugging windows dlls = not fun