I want to write a new Continuum client and combine it with my self coded webserver to make users (who don't have the Continuum client) able to spectate the game using their webbrowsers. So the program should recieve the data from the "Shanky Server", render it to an image file and send it to the browser there a plugin is running, which recieves the (very very compressed) image data from the server, decompresses it and puts it on screen, so everyone, who has a browser can spectate a game. The software logs in with the user Name "Spec0###". ### will be replaced with a random number, at example 589, so it's "Spec0589", the password is something, which doesn't change. The machine ID should be random, for example "7894". Then the software should spectate the game, get the image-data from the "Shanky-Server", render the wanted areas of the map and send it to the people who are spectating with their web browsers. But I need the protocol, which subspace uses (yes, it uses UDP) so that I can understand if the server sends 010111010100010011101010000101101010101000010101110101111010001011010 this means "the bomb level 2 is fired with 200 pixels/second speed and proximity bombs into direction with 45°, ...", you know what I mean! Thanks, Qndre!

The problem with this method is, that all clients only get position data around them only. So if you are specating around E6, you won't see anyone at J12. The only realistic way to do this is via a plugin for ASSS, a new server software, that still is in beta.

That can allowing a process on your server to connect to the server, without ever "logging in" like a normal client would, and receive information about where people are. This can then allow the process on your webserver to update a database or something, in which another script would be able to make realtime images of what the map looks like, which different freqs or players being different colors of the user's choice. Since this would be a custom made software, you could add in chatting systems, but that would be a bit more difficult, because you'll have to have some system of making chat-clients safely talking to people, but still be able to be secure from screwing around with other people in game (ie: spamming, harassing).

I posted a bot made by catid ages ago that has the ability to actually view the game. But it would require a lot of attention to actually get it to work._________________Owner of CSAU Administration
Owner of Death Universe

1. Thanks to ExplodyThingy - you helped me much. But I also have to download the map file (LVL)and the LVZ so I can render the graphics because they aren't all the same in different zones. A method how the LVZ is transferred and how I can decode the files (images, sounds) out of the LVZ would be useful. I would also need a way to decode the map file (LVL) into a common bit-map or image so I can take a piece out and blit the ships on top of it.
_
2. MineGOBOOM's reply:
"The problem with this method is, that all clients only get position data around them only. So if you are specating around E6, you won't see anyone at J12. The only realistic way to do this is via a plugin for ASSS, a new server software, that still is in beta."
But MineGOBOOM - there are two reasons why it should work: First you can recieve RADAR and MAP-Data from all parts of the level so there may be a way to get the ship's positions. And even if you can't spectate all parts of the map simultanously, there is a way out. So I can capture one frame from the area "User1" wants to see and the second frame from the area "User2" wants to see. And if that doesn't work I can create a user-login for all the users, who spectate the game. So there is one client running for "User1" and another client running for "User2" and so on. (yes - there is a way to log in with multiple clients simultanously - already tried it out) Another quote: "That can allowing a process on your server to connect to the server, without ever logging in like a normal client would" - but with that I could only login at my own server but not at any other zone, like DSB at example. :(
_
3. Fuzzjdc - thanks for your reply. If you could give the source to me, that would be great. (I hope the source isn't longer than 50 lines and is written in BASIC or PHP - NO C SOURCE PLEASE.)
_
4. Thanks to EVERYONE, who replied - these were the fastest replies I ever got in a forum. Thank you very much. Your replies are very useful.
_
5. I heard that the server wants security checksums from the client. How can I fake/generate them?

As how some bots go about getting everyone's location is to slowly rotate who they are watching. You have a global list of everyone in the arena, and record the last time you've 'seen' a certain user. So you then change who you are watching to that person. Once you get some updates about his location, and some others around him, you can change to the next person.

This shouldn't be too much of a problem, as your real-time specing probably won't be updated every 0.1 seconds. Do you plan on having only a radar-view of the map, or actual detail of people's ships, their direction, etc like you were watching with a real client?

Want to log into any zone to watch.

To do this, you'd need one of the following:

Continuum encryption - Thats a no

VIE encryption (with checksums) and a zone which allows VIE clients to still log in - The first part is easy (open sourced everywhere), the second part is rare for most large zones

VIE encryption (with checksums) and VIP/Mod powers in zone - Most zones probably wouldn't give you the following, for no real reason. They'd probably just not like having this done for their zone, because if the client isn't scripted well, it can easily screw around with the zone

VIE encryption (without checksums) and SMod/Sysop powers in zone - This in a huge no from any zone you arn't already a sysop in. Reason: They probably won't trust you.

Thats the only ways you'll be able to get a client to log into a Subgame2 zone, which is still 90% of all the populated zones. Checksums for VIE encryption are not too hard to create, as it is also public knowledge now with source code out there. Catid's Mervbot has code (in C++) for VIE encryption and checksum generation.

You want to do this in BASIC or PHP

Basic? That would take forever to do, as basic is, well, very basic. I doubt it has the needed system calls to even do UDP packets, but that is just a guess.

PHP isn't the fastest scripted language. It also isn't very easy to do some of the advanced things needed for encryption/checksums, and since you've never done this before, I doubt you'd be able to get this to work very easily.

Another reason the above languages wouldn't work is that you'd need the client to keep a steady stream of data between zone/your webserver. That means you'd need to run a background process on your webserver, in which case you'd to contact your host to see if this is allowed. For most webservers, they'd say no, because of the problems that can happen with others running their own code on the machine, even if in a restricted manner.

I'm sorry to shoot down your idea, as it is a good one, but impractical. The following are the only real ways I can see this happening:

Running a bot off your own machine or a person who would host it for you.

The bot would spectate everyone in the game, and then send HTML POST/GET requests to a script on your server, which will then store the information so the other webpage can display it for the user. If you know your SQL, you can do a remote connection to your SQL database and update that directly, if your host permits this.

Running a plugin on an ASSS server (which no 'large' zone uses yet).

This could possibly be done in any language, as Grelminar is attempting to allow, but most likely will end up being C, as it isn't too hard to do what you'd need from the server's point of view. This plugin will have full, always-updated access to everyone's positions, player, balls, or flags. You can then have it do a HTML POST/GET request to your webserver's PHP script, or the better choice if possible, update your SQL database directly.

3. Fuzzjdc - thanks for your reply. If you could give the source to me, that would be great. (I hope the source isn't longer than 50 lines and is written in BASIC or PHP - NO C SOURCE PLEASE.)

You have got to be kidding right? There are numerous open source bots out there. Mine is at explody.ssihosting.com/misc, Admiral Kirk has one at kirk.sscentral.com (dead dns), catid has one at catid.ssihosting.com. There is a limited-release Java bot out there too. At catids site you will also find an old VB bot. Most of these approach several thousand lines of code. My bot might be the simplest to understand as its pretty crude, undeveloped, and bare-necessities only.

This shouldn't be too much of a problem, as your real-time specing probably won't be updated every 0.1 seconds. Do you plan on having only a radar-view of the map, or actual detail of people's ships, their direction, etc like you were watching with a real client?

I want to see the level and the complete shipset, bullets, greens, flags, bombs, etc. like I would spectate the game using the Continuum 38 client. (The client should be similar to Continuum 38.) The update-rate should be between two and five frames per second (four should be average).
_
2.
I will need the Continuum-encryption, because I want to write a Continuum-client and not a Subspace-client. But the "encryption" as you call it isn't really an encryption but a checksum system which should be easy to trick (there is a formula with the key on the internet).
_
3.

Quote:

I doubt it has the needed system calls to even do UDP packets, but that is just a guess.

There is a way to send UDP packets. It's a library called the "Windows Socket Controller".
_
4.

Quote:

Running a plugin on an ASSS server (which no 'large' zone uses yet).

No way!
_
5.
I've got a library to decompress the data out of the LVZ the client gets.
_
Summary:
You see - it shouldn't be a real problem. It won't be easy but I am confident I can do it.
_
PS: If I have finished I will put a "thanks-to"-line into the application with your names.

2.
I will need the Continuum-encryption, because I want to write a Continuum-client and not a Subspace-client. But the "encryption" as you call it isn't really an encryption but a checksum system which should be easy to trick (there is a formula with the key on the internet).

This will not happen. ANd it is a true encryption of the data. No one here has yet cracked it, and the author/creator whatever will not release it.

No one here has yet cracked it, and the author/creator whatever will not release it.

1. The author of the Continuum client is PriitK. He won't publish the source, that's right. But the server checks these security checksums and Shanky ALREADY HAS released the sourcecode because there are already other clients for Shanky-Server and Continuum (just check the clients for Linux, at example Srrrubspace, which are not created by PriitK).
2. There are some people, who already cracked the checksum/encryption-system and published the algorithm on their websites. The client builds a checksum of the "subspace.exe", does some other encryption-like-things and finally adds some time-codes and hardware-fingerprints (I will set the hardware-fingerprint to a random number for my client) to it. The complete algorithm can be found on bot-related websites like those of the MERVbot server system.

Continuum uses an enhancement of the VIE alg. There are two diferent schemes out there. All the bots, even merv, my own, logic bot, and others, use VIE's scheme. We can assure you that continuums encryption method is not public.

OK, well, you're not going to crack the Continuum encryption, so forget about that. The alogorithm that has been cracked (the one in MERV) is Subpsace encryption, not PriitK's Continuum encrytion. If you actually want to code a new client, you'll have to make a deal with PriitK. And that probably won't happen because if someone's trying to recode Continuum in BASIC, they can't be serious.
Not trying to be mean here, but Continuum would be basically impossible to do in BASIC._________________This help is informational only. No representation is made or warranty given as to its content. User assumes all risk of use. Cyan~Fire assumes no responsibility for any loss or delay resulting from such use.
Wise men STILL seek Him.

Encryption is something that interests me but currently is beyond the programming knowledge that I posses. Explain to me why someone who read ASM couldn’t disassemble the continuum.exe and locate/figure out the code that is associated with encryption. There are c++ decompile programs (although I doubt they work well) that would aid in finding the location of the code.

Because some programs are actually encrypted themselves. The computer can decrypt it, but its a pain to do a good bit of the time, because its the program decrypting parts of itself on the fly. So this isn't something you can easily do, on the fly.

Also, as Priitk is (sometimes) alive, if someone does manage to get the code for it (which I must say, was a pain to get to work in the first place, even with his help), he can just change it and you'd have to go through the whole steps completely anew.

In my experience with dealing with people in SubSpace Development, i will just say this, if you are going to do something just do it, and if you need help, just ask the questions and wait for the answer, but never say your project here, because it will never be taken as a finished product, and the reason is a lot of players before have offered the same ideas and said they would make them and have never made them.

Also, as Priitk is (sometimes) alive, if someone does manage to get the code for it (which I must say, was a pain to get to work in the first place, even with his help), he can just change it and you'd have to go through the whole steps completely anew.

1. He won't do that because then all the server systems (even Shanky's one) would have to be rewritten.
2. The Continuum-encryption is 16-bit (64000 different keys) so a computer can crack it within some seconds.

You can post new topics in this forumYou can reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum