Vlad Posted April 8, 2010 Author Share Posted April 8, 2010 This is how Pokemon accesses GTS: 1. conntest server (any response is sufficient) 2. SSL server that gives the NDS a "pid" (personal idendification) 3. the HTTP server (where pid is used to generate hashes, really weak security...) So far step #1 and #3 can be manipulated and the NDS can be tricked but the SSL part is much harder and so far we only use a DNS server to simply let the rest of the communication go as default but only hook the HTTP requests as thats actually the GTS itself, thus we modify data send to the client. This is how NDS connects to the GTS In a nut shell. Also I believe Mystery Gifts connect to a SSL server (not the one we connect when using GTS, but still SSL I believe) thus it's not easy to emulate that. SSL is supposed to be secure, thus it's not easy to hack and emulate it -the client will deny the server if not everything is as it should be. What we can do is distribute key items via Pokemon (as "held" items I suppose), hehe. Have not tried but perhaps it could work, if not meh then isn't a custom GTS server enough? D: Link to comment Share on other sites More sharing options...
sieghart Posted April 8, 2010 Share Posted April 8, 2010 So I've just about gone through all of this and am having issues with setting this up correctly, Firstly I have NO CLUE what files to use because everybody keeps posting new ones or edited ones and etc... WHICH ONE IS CORRECT!!!, I'm trying to set up a distributive center to send pokemon to other people not on my network(mainly friends). With my current SendPKM file, It prompts me to enter a specific dotted quad in my DNS settings on my DS, how do I configure this program to send over the internet to other people on different networks. Could someone who got it working just maybe post a step by step tutorial from start to end(sorry if it would be alot of work to type out) on how to get the DNS server up and running online. Thanks, Sieghart Link to comment Share on other sites More sharing options...
zowayixx Posted April 8, 2010 Share Posted April 8, 2010 ... Alright, so if I upload the files to my site's front page, it should have a better chance at working, right? Link to comment Share on other sites More sharing options...
AngelSL Posted April 8, 2010 Share Posted April 8, 2010 Alright, so if I upload the files to my site's front page, it should have a better chance at working, right? No, problem is the DS doesn't support CNAMEs probably. Did you do the fix I told you to try? If this doesn't work, putting it at your frontpage won't either as you don't have a dedicated IP.. (shared IP using virtual hosts) @Vlad I modified his script to return a CNAME instead of an IP. Theoretically it should work. What we can do is distribute key items via Pokemon (as "held" items I suppose), hehe. Have not tried but perhaps it could work, if not meh then isn't a custom GTS server enough? D: Won't work, you also need the event flag set, not just the Key Item. (which is why there is a special wonder card type for each of the event items in DPPHGSS, and not just a 'Item') Link to comment Share on other sites More sharing options...
zowayixx Posted April 9, 2010 Share Posted April 9, 2010 Did you do the fix I told you to try? Aw crap, you must have modified the one I had, because I downloaded another dnsserver.py because it wouldn't work, so I reverted the changes I made, and it still didn't work. I can't find what you told me to look for now. =/ Link to comment Share on other sites More sharing options...
lizzledpink Posted April 9, 2010 Share Posted April 9, 2010 Based on the findings here I've created a quick, very basic guide, readable by pretty much anybody who'd bother to be on this website, about how to use the GTS servers to download your own customized and created pokemon (.pkm files) to your Pokemon games. Check it out! http://projectpokemon.org/forums/showthread.php?8325-GTS-Servers-and-%28Valid%29-Pokemon-Creation-for-Dummies&p=73435&viewfull=1#post73435 Link to comment Share on other sites More sharing options...
BeansNRice Posted April 9, 2010 Share Posted April 9, 2010 wait do i have to restart the game or will the program do it cuz i got the ERROR message for my SS Link to comment Share on other sites More sharing options...
zowayixx Posted April 9, 2010 Share Posted April 9, 2010 You have to manually restart the game, then the Pokemon will either be in your party or your Storage. Link to comment Share on other sites More sharing options...
BeansNRice Posted April 9, 2010 Share Posted April 9, 2010 i tried that and it didnt work after i got the error 51200 Link to comment Share on other sites More sharing options...
BeansNRice Posted April 9, 2010 Share Posted April 9, 2010 oh snap never mind it some how worked when re-entered it Link to comment Share on other sites More sharing options...
sieghart Posted April 9, 2010 Share Posted April 9, 2010 So anyone have news of getting this to work through the internet so I can create events for my friends and stuff without me having to trade them or them having to come to my house? =<, I know its possible because of a site I saw recently that did it.(currently dont have the link to it as I am not at home) Link to comment Share on other sites More sharing options...
FarePak Posted April 9, 2010 Share Posted April 9, 2010 You will need to forward port 80 on your router then tell your friends to set their DNS on their DS' as your external IP. You can get your external IP from whatismyip.com. After that, you can get your friends to connect to it via GTS. Link to comment Share on other sites More sharing options...
sieghart Posted April 9, 2010 Share Posted April 9, 2010 Oh sweet, thanks. What about keeping it open so all my friend can do it though without me having to reopen sendpkm =S, because I'll be going to a friends house this weekend and there's like three of them who are going to want it, and my brother has my ds atm. Link to comment Share on other sites More sharing options...
FarePak Posted April 9, 2010 Share Posted April 9, 2010 The programs code would need to be edited for that to happen. Unless you find someone willing to do this for you then you would need to re-open it each time. Link to comment Share on other sites More sharing options...
sieghart Posted April 9, 2010 Share Posted April 9, 2010 hmm alright I'll have to look into that then, thank you for the help though, when I get home I'll give it a shot. Oh um I guess one last question. Which file would need to be edited for me to be able to have it stay open til its awarded more than one. I'll do that myself and learn how, just need to know which ones. Thanks in advance. Link to comment Share on other sites More sharing options...
FarePak Posted April 9, 2010 Share Posted April 9, 2010 Not entirely sure as I don't know much about it myself but its most likely the pokehaxlib.py and sendpkm.py Link to comment Share on other sites More sharing options...
M@T Posted April 9, 2010 Share Posted April 9, 2010 My program coded in VB.NET sends the .pkm at each request it receives until it is closed, you can find it here if you want. I also included a DNS server, you just input your external IP address, you also forward your UDP 53 port and you're done, your friends don't even need to launch a DNS server on their computers, they only have to put your IP in their DS settings. Vlad's PHP server is awesome too, but it needs Apache being installed and some modifications to fit your configuration. Link to comment Share on other sites More sharing options...
kickhopper Posted April 9, 2010 Share Posted April 9, 2010 My program coded in VB.NET sends the .pkm at each request it receives until it is closed, you can find it here if you want.I also included a DNS server, you just input your external IP address, you also forward your UDP 53 port and you're done, your friends don't even need to launch a DNS server on their computers, they only have to put your IP in their DS settings. Vlad's PHP server is awesome too, but it needs Apache being installed and some modifications to fit your configuration. Alright I cannot seem to get this to work for me, not sure exactly what the problem is. I forwarded port 53 properly but when I start the dns server it says, "DNS server started on 0.0.0.0:53" Any clue how to fix this? Also could you tell me, step by step, what exactly I need to do? First I start up sendpkm with a pkm file, then the DNS server? Any help would be appreciated. Link to comment Share on other sites More sharing options...
M@T Posted April 9, 2010 Share Posted April 9, 2010 "DNS server started on 0.0.0.0:53" only means that the socket was successfully bound on the port 53 of your computer, this is NOT the equivalent of sendpkm.py's "Please set your DS's DNS server to 192.168.1.7" (for example). This was more for debugging purpose actually. So, step by step, you must : - Know your external IP address, go here to have it for example - Launch DNS_Server.exe, and input that IP when asked - You are done with the DNS part, now start SendPKM.exe with a 236-byte .pkm or .bin file (you can drag and drop it on the .exe, that's much easier). It should say that it is ready and waiting for a connexion. That's all. If both UDP port 53 and TCP port 80 are forwarded and reachable from the Internet, then any person who sets your external IP as his DS's primary DNS server and connects to the GTS should receive the .pkm you chose. But remember that it may not work when connecting with a DS in the same network, in that case you have to replace your external IP by your computer's private IP in both DNS_Server.exe and your DS's DNS settings. Link to comment Share on other sites More sharing options...
kickhopper Posted April 9, 2010 Share Posted April 9, 2010 Ah yes, now that I look at the code I can see different colors used for success/fail. The printout just made it seem like a fail since one of the programs posted here had that printout as an error. And yes, I was using my DS on the same network to test it out. So that would explain why it didn't work for me. Guess I'll have to have someone else test it for me. Thanks for the fast help. Link to comment Share on other sites More sharing options...
Pine Posted April 10, 2010 Share Posted April 10, 2010 "DNS server started on 0.0.0.0:53" only means that the socket was successfully bound on the port 53 of your computer, this is NOT the equivalent of sendpkm.py's "Please set your DS's DNS server to 192.168.1.7" (for example).This was more for debugging purpose actually. So, step by step, you must : - Know your external IP address, go here to have it for example - Launch DNS_Server.exe, and input that IP when asked - You are done with the DNS part, now start SendPKM.exe with a 236-byte .pkm or .bin file (you can drag and drop it on the .exe, that's much easier). It should say that it is ready and waiting for a connexion. That's all. If both UDP port 53 and TCP port 80 are forwarded and reachable from the Internet, then any person who sets your external IP as his DS's primary DNS server and connects to the GTS should receive the .pkm you chose. But remember that it may not work when connecting with a DS in the same network, in that case you have to replace your external IP by your computer's private IP in both DNS_Server.exe and your DS's DNS settings. M@T I have tested this method with a local Network, meaning connecting my DS to the same network as my PC and I have succeded. I believe most problems are because people don't know their Private IP. On most router's settings (if you have access to them, which you should since it's your HOME NET) you can see a list of the DHCP clients, see what's your PC in there and use that number. Anyway, as I was saying, I succeeded. I actually expected it to kick me off the connection (but to still get the Poke), like the fan GTS site does/did. But no, I actually saw the Pokemon arrival and then was left inside the GTS and I had to disconnect like I normally would. I don't know if that's what should happen but I'm just letting you know. All else went smooth. Thanks a lot, bro. Link to comment Share on other sites More sharing options...
SwiftStratos Posted April 10, 2010 Share Posted April 10, 2010 "DNS server started on 0.0.0.0:53" only means that the socket was successfully bound on the port 53 of your computer, this is NOT the equivalent of sendpkm.py's "Please set your DS's DNS server to 192.168.1.7" (for example).This was more for debugging purpose actually. So, step by step, you must : - Know your external IP address, go here to have it for example - Launch DNS_Server.exe, and input that IP when asked - You are done with the DNS part, now start SendPKM.exe with a 236-byte .pkm or .bin file (you can drag and drop it on the .exe, that's much easier). It should say that it is ready and waiting for a connexion. That's all. If both UDP port 53 and TCP port 80 are forwarded and reachable from the Internet, then any person who sets your external IP as his DS's primary DNS server and connects to the GTS should receive the .pkm you chose. But remember that it may not work when connecting with a DS in the same network, in that case you have to replace your external IP by your computer's private IP in both DNS_Server.exe and your DS's DNS settings. Hey, I have followed your steps but I cannot seem to get the TCP port 80 forwarded, or at least I think I didn't, as it did not show up when I entered my external IP address (found in the link you provided), just the port 53 part.I'm obviously trying to get the distribution to work for those not on my network. Any help is appreciated, thanks ! Plus: -I have followed your directions, I get the "Waiting for connexion.." on sendpkm, and as I said, I only see the "DNS server started on 0.0.0.0:53" after I put my external IP. Distribution does not seem to be working for a friend not on my network. Link to comment Share on other sites More sharing options...
M@T Posted April 10, 2010 Share Posted April 10, 2010 Anyway, as I was saying, I succeeded. I actually expected it to kick me off the connection (but to still get the Poke), like the fan GTS site does/did. But no, I actually saw the Pokemon arrival and then was left inside the GTS and I had to disconnect like I normally would.I don't know if that's what should happen but I'm just letting you know.. You're lucky then, because most of the time, I get a BSOD when trying with Platinum, Heart Gold or Soul Silver, with every unofficial GTS. :tongue: Diamond and Pearl work properly though. Anyway, thanks for the feedback. :wink: Hey, I have followed your steps but I cannot seem to get the TCP port 80 forwarded, or at least I think I didn't, as it did not show up when I entered my external IP address (found in the link you provided), just the port 53 part.I'm obviously trying to get the distribution to work for those not on my network. Any help is appreciated, thanks ! To forward your ports you can use that website to help you : http://portforward.com/. Then, to see whether or not it was successful, test it here when SendPKM.exe is listening for connections : http://ping.eu/port-chk/ (only work for TCP ports, so you can't test your DNS UDP-53 port). Link to comment Share on other sites More sharing options...
Vlad Posted April 10, 2010 Author Share Posted April 10, 2010 Hmm, I had this MW2 port check tool to help figure out if the ports are open or not... so what I did is modify the script and compile one for the Python scripts. It simply checks TCP80 and UDP53 and that they are properly open to the public. The script I made is in AutoIT3 so the ZIP includes the sources and a compiled executable. Note that AutoIT3 does show up as viruses on some antivirus programs but that's life, compile it on your own then. Maybe it helps with the ports issue, at least you will know if the ports are configured properly... Note: ports 80 and 53 are special, the tool may even say they are open if they are not properly forwarded. I believe it's just something to do with routers or how the OS handles requests. Even if I strictly request the connectivity to go trough a specific IP (i.e. out trough the router then back in) it does not always do that -not on all OS and routers. Would be neat if we could have a port check to validate that ports are properly forwarded and such but I am not really much of a networking guy, hehe. ;p pkmsendportcheck.zip Link to comment Share on other sites More sharing options...
andreqms Posted April 10, 2010 Share Posted April 10, 2010 Hi! First, I want to thank LordLandon and all guys that worked to make the 'sendpkm'! I used that to get local event Pokémon that I could not get like Jirachi, Arceus, etc... Thank you very much! =D I am here to ask if someone know how to use it by getting a PDC file (Wonder Card)! I want that to use Key Itens events! I askes that and people from other web sites said that Project Pokémon is working in that. Thank you againd, and sorry about my English! Bye! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now