|
Server Help Community forums for Subgame, ASSS, and bots
|
Author |
Message |
Qndre Server Help Squatter
Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Sun Jan 25, 2004 8:55 am Post maybe stupid Post subject: Spectate-Only-Client |
|
|
|
|
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! |
|
Back to top |
|
|
ExplodyThingy Server Help Squatter
Age:38 Gender: Joined: Dec 15 2002 Posts: 528 Location: Washington DC Offline
|
|
Back to top |
|
|
Mine GO BOOM Hunch Hunch What What
Age:41 Gender: Joined: Aug 01 2002 Posts: 3615 Location: Las Vegas Offline
|
Posted: Sun Jan 25, 2004 1:08 pm Post maybe stupid Post subject: |
|
|
|
|
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). |
|
Back to top |
|
|
Fuzzjdc Seasoned Helper
Age:38 Gender: Joined: Dec 31 2002 Posts: 111 Location: Rowville, Victoria, Australia Offline
|
Posted: Mon Jan 26, 2004 5:59 am Post maybe stupid Post subject: |
|
|
|
|
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 |
|
Back to top |
|
|
50% Packetloss Server Help Squatter
Age:39 Gender: Joined: Sep 09 2003 Posts: 561 Location: Santa Clarita, California Offline
|
|
Back to top |
|
|
Qndre Server Help Squatter
Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Mon Jan 26, 2004 8:08 am Post maybe stupid Post subject: |
|
|
|
|
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? |
|
Back to top |
|
|
Mine GO BOOM Hunch Hunch What What
Age:41 Gender: Joined: Aug 01 2002 Posts: 3615 Location: Las Vegas Offline
|
Posted: Mon Jan 26, 2004 10:04 am Post maybe stupid Post subject: |
|
|
|
|
Some problems I see in the way you wish to go
- Want to spectate areas people wish to see.
- 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.
|
|
Back to top |
|
|
ExplodyThingy Server Help Squatter
Age:38 Gender: Joined: Dec 15 2002 Posts: 528 Location: Washington DC Offline
|
Posted: Mon Jan 26, 2004 10:38 am Post maybe stupid Post subject: |
|
|
|
|
Qndre wrote: | 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. |
|
Back to top |
|
|
50% Packetloss Server Help Squatter
Age:39 Gender: Joined: Sep 09 2003 Posts: 561 Location: Santa Clarita, California Offline
|
Posted: Mon Jan 26, 2004 12:14 pm Post maybe stupid Post subject: |
|
|
|
|
"The page cannot be found"==the links to your bot's source/binaries plody |
|
Back to top |
|
|
Qndre Server Help Squatter
Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Mon Jan 26, 2004 12:29 pm Post maybe stupid Post subject: |
|
|
|
|
50% Packetloss wrote: | "The page cannot be found"==the links to your bot's source/binaries plody |
That's right. The server is currently down. But I've got a backup from that website. Sorry. I can't post it as an attachment because it's a 715 kilobytes PDF-File. |
|
Back to top |
|
|
Qndre Server Help Squatter
Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Mon Jan 26, 2004 12:47 pm Post maybe stupid Post subject: |
|
|
|
|
Hello, MineGoBoom.
_
1.
Quote: | 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. |
|
Back to top |
|
|
ExplodyThingy Server Help Squatter
Age:38 Gender: Joined: Dec 15 2002 Posts: 528 Location: Washington DC Offline
|
Posted: Mon Jan 26, 2004 1:01 pm Post maybe stupid Post subject: |
|
|
|
|
Qndre wrote: | 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.
Im fixing my link now. |
|
Back to top |
|
|
Smong Server Help Squatter
Joined: 1043048991 Posts: 0x91E Offline
|
Posted: Mon Jan 26, 2004 3:06 pm Post maybe stupid Post subject: |
|
|
|
|
I don't think the many zones will allow your client to enter. I certainly wouldn't without a good reason.
I wouldn't want to be associated with a project with beginnings like this (talking about faking checksums and such), even if it went commercial. |
|
Back to top |
|
|
Guest
Offline
|
Posted: Mon Jan 26, 2004 3:33 pm Post maybe stupid Post subject: |
|
|
|
|
ExplodyThingy wrote: | 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. |
|
Back to top |
|
|
Qndre Server Help Squatter
Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Mon Jan 26, 2004 3:38 pm Post maybe stupid Post subject: |
|
|
|
|
I was the author of the "guest"-thread, which was posted 26th January 2004, 21:33. (THE TIME IS GMT + 1) I wanted to log in but the forum didn't take it. Sorry! |
|
Back to top |
|
|
ExplodyThingy Server Help Squatter
Age:38 Gender: Joined: Dec 15 2002 Posts: 528 Location: Washington DC Offline
|
Posted: Mon Jan 26, 2004 3:54 pm Post maybe stupid Post subject: |
|
|
|
|
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. |
|
Back to top |
|
|
Cyan~Fire I'll count you!
Age:36 Gender: Joined: Jul 14 2003 Posts: 4608 Location: A Dream Offline
|
Posted: Mon Jan 26, 2004 5:41 pm Post maybe stupid Post subject: |
|
|
|
|
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. |
|
Back to top |
|
|
50% Packetloss Server Help Squatter
Age:39 Gender: Joined: Sep 09 2003 Posts: 561 Location: Santa Clarita, California Offline
|
Posted: Mon Jan 26, 2004 8:17 pm Post maybe stupid Post subject: |
|
|
|
|
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. |
|
Back to top |
|
|
Mine GO BOOM Hunch Hunch What What
Age:41 Gender: Joined: Aug 01 2002 Posts: 3615 Location: Las Vegas Offline
|
Posted: Mon Jan 26, 2004 9:20 pm Post maybe stupid Post subject: |
|
|
|
|
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. |
|
Back to top |
|
|
cyp Guest
Offline
|
Posted: Mon Jan 26, 2004 10:11 pm Post maybe stupid Post subject: |
|
|
|
|
but i doubt he would... heh |
|
Back to top |
|
|
nintendo64 Seasoned Helper
Age:39 Gender: Joined: Dec 01 2002 Posts: 104 Location: Dominican Republic Offline
|
Posted: Mon Jan 26, 2004 10:43 pm Post maybe stupid Post subject: |
|
|
|
|
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.
Good Luck, althought i am very doubtful you'll get throught too.
-nintendo64 |
|
Back to top |
|
|
Guest
Offline
|
Posted: Tue Jan 27, 2004 9:27 am Post maybe stupid Post subject: |
|
|
|
|
Mine GO BOOM wrote: | 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. |
|
Back to top |
|
|
Qndre Server Help Squatter
Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Tue Jan 27, 2004 10:06 am Post maybe stupid Post subject: |
|
|
|
|
ExplodyThingy wrote: | Continuum uses an enhancement of the VIE alg. |
I know. I even know the formula it uses. It's on the web. |
|
Back to top |
|
|
Guest
Offline
|
Posted: Tue Jan 27, 2004 10:09 am Post maybe stupid Post subject: |
|
|
|
|
Cyan~Fire wrote: | 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. |
Subspace and Continuum is 90% the same. You can still join the old subspace zones using the new continuum client. If the algorithm was another one, you weren't able to do so. |
|
Back to top |
|
|
Qndre Server Help Squatter
Gender: Joined: Jan 25 2004 Posts: 295 Offline
|
Posted: Tue Jan 27, 2004 10:11 am Post maybe stupid Post subject: |
|
|
|
|
I am also the author of the "Guest" thread of 27th January 2004, 16:09 GMT+1. I hate these "forum-does-not-login-errors". |
|
Back to top |
|
|
|
|
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
|
Software by php BB © php BB Group Server Load: 273 page(s) served in previous 5 minutes.
|