Server Help Forum Index Server Help
Community forums for Subgame, ASSS, and bots
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   StatisticsStatistics   RegisterRegister 
 ProfileProfile   Login to check your private messagesLogin to check your private messages   LoginLogin (SSL) 

Server Help | ASSS Wiki (0) | Shanky.com
Spectate-Only-Client
Goto page Previous  1, 2, 3 ... 13, 14, 15, 16, 17, 18  Next
 
Post new topic   Reply to topic Printable version
 View previous topic  Mapper needed Post :: Post Continuum 39pr3  View next topic  
Author Message
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Mon Feb 23, 2004 6:01 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

I've got a question: Why does every application generate the checksum out of "subspace.exe" instead of just including the instant checksum which is ready to be sent out together with other checksums which have to be generated (like the one of the map, settings, etc.)?
Back to top
View users profile Send private message Add User to Ignore List
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Mon Feb 23, 2004 6:14 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

It's not a fixed value. The checksum is calculated from a key the server sends which is combined using feedback with the data being checksummed. So you always need the raw data available. My bots embed the parts of the EXE that it needs as data, so it doesn't have to open subspace.exe as an external file.
_________________
4,691 irradiated haggis!
Back to top
View users profile Send private message Add User to Ignore List
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Mon Feb 23, 2004 9:32 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Learn C. Come back in a year.
_________________
Hyperspace Owner

Smong> so long as 99% deaths feel lame it will always be hyperspace to me
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Tue Feb 24, 2004 5:26 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Mr Ekted wrote:
It's not a fixed value. The checksum is calculated from a key the server sends which is combined using feedback with the data being checksummed. So you always need the raw data available. My bots embed the parts of the EXE that it needs as data, so it doesn't have to open subspace.exe as an external file.

You have an EXE-checksum, a MAP-checksum, etc. and the EXE-checksum is a fixed value as far as I know. It's combined with the server key. So what? I can also combine a fixed number with the server key so that it changes when the server key changes.

I'll use this VIEenc plugin now so I don't have to care about encryption and then I'll try to send a valid 0x09 packet. I'll see what happens. I'm just too busy at the moment to try it out immediatelly.
Back to top
View users profile Send private message Add User to Ignore List
Jason
Novice


Age:41
Gender:Gender:Male
Joined: Feb 05 2004
Posts: 57
Offline

PostPosted: Tue Feb 24, 2004 7:16 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Dude, just go off and do some work on this for awhile. You come back to these forums and post what you're up to like a radio announcer would do a play-by-play of a baseball game. It's not necessary.
Back to top
View users profile Send private message Add User to Ignore List Send email
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue Feb 24, 2004 11:46 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Qndre wrote:
You have an EXE-checksum, a MAP-checksum, etc. and the EXE-checksum is a fixed value as far as I know. It's combined with the server key. So what? I can also combine a fixed number with the server key so that it changes when the server key changes.

I'll use this VIEenc plugin now so I don't have to care about encryption and then I'll try to send a valid 0x09 packet. I'll see what happens. I'm just too busy at the moment to try it out immediatelly.


Every time you ask me a question, and I answer, and you disagree, you come back asking why your way doesn't work. Then you realize I was right 7 pages ago. Learn from your mistakes if you want help.
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Tue Feb 24, 2004 11:52 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Yes. As for my physics engine I posted in SSforum.net: http://www.ssforum.net/index.php?showtopic=2968
Catid wrote:

Qndre seems to be rather annoyed at all the poo-pooing.

It's a solid idea based on established physics approximations, and I'd love to see an implementation of these things in Continuum. Eh, mainly just for Metal Gear.

So you see not everyone thinks that my idea is trash. biggrin.gif

I'll take this advice:
Quote:

Every time you ask me a question, and I answer, and you disagree, you come back asking why your way doesn't work. Then you realize I was right 7 pages ago. Learn from your mistakes if you want help.
Back to top
View users profile Send private message Add User to Ignore List
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue Feb 24, 2004 1:13 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

No one said your idea was bad. That thread on ssofurm degraded into a discussion of how to implement drag, if drag should be used, how SS/Cont currently work, various arena settings, etc. This is why I said, "Is everyone discussing the same topic here?". However, it's still rather pointless for you to be posting code for us; those who would add new features would be able to do so in a much more efficient way, and in a way that integrates with all the other existing physics. Simply suggesting that a friction setting be added for ship would be sufficient.
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Tue Feb 24, 2004 2:08 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

OK. I suggested catid to shorten his checksum algorithm. And he did. And he open-sourced it.
Quote:

Hello. Qndre was talking with me today, and he mentioned that the VIE EXE checksum generator looked like it could be done without the actual EXE file. So, i wrote this PoC. Can someone check it for me?

Uint32 generateEXEChecksum(Uint32 key)
{
Uint32 part, csum = 0;

part = 0xc98ed41f;
part += 0x3e1bc | key;
part ^= 0x42435942 ^ key;
part += 0x1d895300 | key;
part ^= 0x6b5c4032 ^ key;
part += 0x467e44 | key;
part ^= 0x516c7eda ^ key;
[..]

Thanks for telling my name but it's still your algo, catid. biggrin.gif I only had the idea.
Back to top
View users profile Send private message Add User to Ignore List
nintendo64
Seasoned Helper


Age:40
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 104
Location: Dominican Republic
Offline

PostPosted: Tue Feb 24, 2004 2:28 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

@Mr Ekted> you might want to check this thread

http://www.ssforum.net/index.php?act=ST&f=4&t=3011&st=0#entry39525

-nintendo64
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Tue Feb 24, 2004 3:03 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Which idea was whos? It's simple:
Quote:

Including parts of the exe was Mr. Ekted's idea.

Just take a constant and combine it with the key later (without having the raw data) was mine.
Mr. Ekted wrote:

So you always need the raw data available.

Back to top
View users profile Send private message Add User to Ignore List
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue Feb 24, 2004 3:55 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Qndre, you are like a child walking up to a guy building a skyscraper. You hold out your tiny hand containing a piece of metal and say, "You should use this in your building." And when the building is complete you say, "See. Those girders were my idea." You are way out of your league to be suggesting code here or on ssforum. Use them as a way to learn, stop pretending you are trying to teach anything, and you will find people more receptive.
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Tue Feb 24, 2004 4:27 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Yes, OK. I'm far from being an experienced programmer. But one thing I really don't understand is one thing which is related to VIE encryption. I give the server an encryption key in my 00 01 core packet. But after the spoof check he sends a 00 02 core packet back which is also containing an encryption key (look at the packetlist). Which key should I use for what?
Back to top
View users profile Send private message Add User to Ignore List
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue Feb 24, 2004 5:05 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

00 02 is the connection reply packet. If it accepts your key it will reply with the negative value. Use your key to encrypt.
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Tue Feb 24, 2004 5:10 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Mr Ekted wrote:
00 02 is the connection reply packet. If it accepts your key it will reply with the negative value. Use your key to encrypt.

Catid in ICQ wrote:

Catid (10:48 PM) :
the 00 02 contains the REAL encryption key that you use.
[..]
Qndre (11:07 PM) :
Mr. Ekted told me to use the key in the 00 01 core packet to encrypt not the one in the 00 02 packet. You said I should use the one in 00 02 , right?
Catid (11:09 PM) :
yeah
Qndre (11:09 PM) :
I'll tell him.

(Time is GMT + 1)

Why do I ask if I have to try out everything on my own? biggrin.gif
Back to top
View users profile Send private message Add User to Ignore List
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue Feb 24, 2004 5:23 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Ooops, he's right. I typed it without checking. I remembered it backwards.
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Wed Feb 25, 2004 9:50 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

k so CatID was right. Thanks for all your help.
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Sat Mar 06, 2004 8:35 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

grav_new.gif
WOW! First great success! icon_biggrin.gif
Now my program has five modules and it works a bit. biggrin.gif I can log on to VIE and ForceContinuum zones (Just set the client version to CONTINUUM in the 00 01 core packet and to VIE in 09 game packet - I can use VIE encryption on ForceContinuum zones now! Is it a bug? Nice bug! biggrin.gif ). Then I get a huge data-flood of reliable-packets, chunks and clusters. icon_sad.gif I'll have to enhance my handler since it doesn't handle much packets, yet. biggrin.gif

So clusters, chunks and reliable packets are difficult to handle? icon_eek.gif But I'm lucky to get help from Catid (THANKS) biggrin.gif .

So... You still think it's impossible? icon_wink.gif
_
PS: I don't know how far I get with this method because maybe server kicks me out later if it recognizes that I am NOT Continuum client but VIE. Don't know but I've got many options in my software so I can log on using VIE signature as well.
Back to top
View users profile Send private message Add User to Ignore List
Smong
Server Help Squatter


Joined: 1043048991
Posts: 0x91E
Offline

PostPosted: Sat Mar 06, 2004 11:52 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

In a ForceContinuum zone, VIE clients can probably stay in spec, but cannot get in a ship.

If the server has security checks turned on, you may get kicked for not returning the correct checksums and stuff.

Also if you miss too many reliable packets you will probably get kicked off the server for 'no data' or something. Since (with vie enc) packet headers aren't encrypted, it is easy to change the 0x03 to an 0x04 and send back the first 6 bytes as the acknowledge.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website MSN Messenger
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Sat Mar 06, 2004 2:24 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Some zones allow VIE in spec mode. If a given zone does not, it will boot you when you try to talk to it using VIE. Try SSCX Powerball as a good test...but not too many times, we get sysop warnings.
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Sat Mar 06, 2004 3:19 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Smong wrote:
In a ForceContinuum zone, VIE clients can probably stay in spec, but cannot get in a ship.

If the server has security checks turned on, you may get kicked for not returning the correct checksums and stuff.

Also if you miss too many reliable packets you will probably get kicked off the server for 'no data' or something. Since (with vie enc) packet headers aren't encrypted, it is easy to change the 0x03 to an 0x04 and send back the first 6 bytes as the acknowledge.

Yes. Reliable packets aren't computed by my client yet but it sends out an ACK packet so that's no problem. Client also responds to ping but doesn't give position packets and security checksums yet. This will be the next step.

Quote:

Since (with vie enc) packet headers aren't encrypted, it is easy to change the 0x03 to an 0x04 and send back the first 6 bytes as the acknowledge.

No need to do this because I can implement encryption using Catid's DLL (will be replaced by my own plugin later but thanks for that).
And Mr Ekted - I'll try it if I am able to stay on my own server without getting kicked (yes - a few seconds after arena login I get kicked out), OK?
Back to top
View users profile Send private message Add User to Ignore List
Qndre
Server Help Squatter


Gender:Gender:Male
Joined: Jan 25 2004
Posts: 295
Offline

PostPosted: Sat Mar 06, 2004 4:16 pm   Post maybe stupid    Post subject: Reply to topic Reply with quote

Solved some other probs. Security checksums and position checksums are the problems at the moment:
Quote:

Connection request from: SpecBOT
Arena Created: () using parameters: E:\subserver\server.cfg
Sat Mar 06 22:13:43: Ext: Loading level file: source.lvz
Player spectating game: SpecBOT
Sat Mar 06 22:13:45: C2S position packet checksum error (SpecBOT)(-947630654)(1
92.168.0.3)(sec=3)
Sat Mar 06 22:13:45: Arena dropped

I need to figure out how to create a valid position checksum. Maybe I find some information in Catid's bot. But one question (just that I don't do it all wrong): I have to send position packets even if I am not in game but a spectator, haven't I?
_
Edit:
Maybe I've found a solution! Snrrrub does it like this:
Quote:

for(uint32 cnt = 0; cnt < 22; cnt++)
checksum ^= thePacket[cnt];

cnt is the indicator which shows which byte of the packet should be read. So for the checksums it uses each byte to XOR them with each other until byte 22. So in basic it should be like this:
Code: Show/Hide

checksum = 0
for i = 1 to 22
checksum = checksum xor asc(mid(packet, i, 1))
next i

Edit:
new_shocked.gif - It works!! biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif
Connection is established and kept-alive although my software is NOT VIP and doesn't return security checksums. Cool. Simpler than I thought.
Let's celebrate. *laugh*
Back to top
View users profile Send private message Add User to Ignore List
nintendo64
Seasoned Helper


Age:40
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 104
Location: Dominican Republic
Offline

PostPosted: Sun Mar 07, 2004 12:50 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Qndre do this for a completely Continuum-only server.

First,

On server.ini
AllowVIEClients=0
ForceContinuumOnly=1

On server.cfg
[Misc]
ContinuumOnly=1

i don't remember others if you have all three active try your "trick" and see if it works. I'm pretty sure what smong and ekted debscribed is truth.

Btw remember what i said about sysop and smod access they can still enter EVEN IF IT ISN'T ON VIP.

Yes indeed about the Simple Checksum or Position Packet Checksum, simple xor.
Code: Show/Hide
function TSS.Poke03ChecksumAt0A(const Packet03:String): String;
var
    n: LongWord;
    c, Tot: Byte;
begin
    Tot := 0;
    for n := 1 to $16 do
    begin
        c := OrdInt(Copy(Packet03,n,1));
        if n = 11 then c := 0;
        Tot := Tot xor c;
    end;
    Result := Copy(Packet03,1,10) + Chr(Tot) + Copy(Packet03,12,Length(Packet03)-11)
end;


-nintendo64
Back to top
View users profile Send private message Add User to Ignore List
divine.216
Guest


Offline

PostPosted: Sun Mar 07, 2004 4:59 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

People beginning projects to write new clients is as passé as people writing their own bot core was a couple years ago.

And why do you unoriginal idiots begin your projects repeating the same shit (...familiarization with silly nuances of net protocol...bitching about priitks tightfistedness with all things cont... etc.) that's been done tens of times by people who can't possibly be less experienced than you? READ FIRST THEN ASK.

All these stupid redundant questions and answers largely end up being thinly veiled pissing contests between people who'd like to hide their uselessness.

It's nice to have some open discussion on these subjects, but it gets old seeing people needlessly and hopelessly repeat things so that they can say that they did their project alone.
Back to top
Doggeti
Server Help Squatter


Age:41
Gender:Gender:Male
Joined: Jan 12 2003
Posts: 297
Location: Germany
Offline

PostPosted: Sun Mar 07, 2004 8:55 am   Post maybe stupid    Post subject: Reply to topic Reply with quote

Here's a little question in between:

The first byte in a server request packet is 00, right? So you do msg[0] = 0x00;
Now, if msg is a char-array 00 is also 0 or '\0', isn't it? So if you send this message to the server wouldn't it stop right at the first byte?
I don't understand how this can work.
_________________
Expect the worst but hope for the best.
Back to top
View users profile Send private message Add User to Ignore List Send email AIM Address
Display posts from previous:   
Post new topic   Reply to topic    Server Help Forum Index -> Trash Talk All times are GMT - 5 Hours
Goto page Previous  1, 2, 3 ... 13, 14, 15, 16, 17, 18  Next
Page 14 of 18

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
View online users | View Statistics | View Ignored List


Software by php BB © php BB Group
Server Load: 23 page(s) served in previous 5 minutes.

phpBB Created this page in 0.907443 seconds : 49 queries executed (79.5%): GZIP compression disabled