Jump to content

Vlad

Member
  • Posts

    123
  • Joined

  • Last visited

Everything posted by Vlad

  1. With a little help by the mods we could organize the threads so that all questions and errors end up here -while letting the original thread only be used for publishing tests, scripts, e.g. Would make it much easier actually find research material when we move 15 of the pages to this thread, perhaps people could simply referrer to a post then two lines below type their question (so we can click the link, check the post and attachment in question then read the question and reply). I believe this will be a smart thing to do.
  2. Vlad wants to help but has computer problems, it's offtopic so I won't go deep except that using Netbeans (while saving a project) my 2nd partition got corrupt (semi, works but if I go to my project folder I get BSOD). Atm trying to repair it using chdsk and recovery console. About the issue it you are having datoneguy, the next step is contacting nas.nintendowifi.net and perhaps it couldnt not get in touch with it and returned a error, or perhaps the 4.2.2.2 dns server I use to query did not respond properly so the app shutdown. I would dare saying it's a port issue but not sure, can't really check. Btw like Veekun said, I wonder if we can get a 2nd thread for support, but for it to work we must like add a notificating when you make a post on this thread that "support is this way" -point people in the right direction. Would be nice to move 15 of the pages in the support thread and keep this for research related things.
  3. Hehe, well I made that mostly to try and explain why we need port forwarding to make the dnsserver.py and pkmserver.py (DNS and HTTP applications) work, why some get errors and are unable to connect to their DNS server or their HTTP server when behind a router -basically not configured port forwarding. If you browse the internet, the router contains a table with information about where to send your packet (browsing the net is TCP port 80 packets). It sends your packet to the nearest router it knows is in the right "direction", then that router continues the same process -sending that packet to the next router closer to your target host, and so on until the host is reached. On top of this (application layer) we have services, in this case DNS (http://en.wikipedia.org/wiki/Domain_Name_System#Address_resolution_mechanism).
  4. zowayixx: hehe, you skipped right to the ending, I also said "Problem is that the packet when it's a domain is not yet working properly (...)" I am not good with DNS packets so I need slight help making the CNAME version work, so far what I implemented didn't fix the issue with redirecting to domains. About the "1" and "2" it's just implemented functions that will replace "1" with the local IP and "2" with the public IP (by connecting to a public website and reading what your actual IP is). Alternatively you can enter a IP "X.X.X.X" and that works, but domains do not yet work -I'll let you know and update the original post (link on the first post in this thread) as soon it's working properly. Also forwarding is really unique for every router and user, knowing you need to properly forward TCP ports 80 and 53 to your machine should be enough and would fix any connectivity issues -only if you do it right. Only way to make sure is to use the manual or get one from your router manufacturer site. There are also sites to help forward like http://portforward.com I know I repeat both myself and what others have said about port forwarding but don't feel like there is enough emphasis on it. (If the host can give you a second IP -that leads directly to your site, that would be one way to work around this issue. This does not mean domains won't be supported, just not right now.) *Edit* Btw made this (for fun) http://ziuo.net/portforward
  5. Pine: DNS must be in some language (or compiled as EXE at least). The website can be in what ever you like, including PHP (as long the HTTP protocols are there )
  6. zowayixx: I've tried to fix it by making the packet differ between IP and domain names and so far the dnsserver.py is like this: http://pastey.net/135213 Problem is that the packet when it's a domain is not yet working properly, I did look at a example here http://forum.codecall.net/tutorials/7298-dns-hacking.html#post38807 and tried to find out how the CNAME packets look like and implemented it -but it didn't work, I didn't manage to figure out what so I post the source here so other Python masters can take a shot at it -if they feel like doing so. Once it's fixed it should handle both IP redirections and domain names, just like what you are trying to do.
  7. That's only where to redirect the original requests to. If you are going to host the webserver locally behind the router, then local IP is enough (the DNS server IP is then the local IP -192.168.0.X or something and all at your home can access it). The public IP will work but you need to properly fix port 80 forwarding to the PC running the webserver (package is in two parts, DNS server and "web" server, also no other webservers must run at home or there will be problems). If you use external IP then make sure you can access the server using http://<yourexternalip>/ -if you get 404 then ports are not configured (you can try using another device as well) but if it works then it should work. DNS runs on 53 UDP I believe, it must be open too for the DNS to work (but I assume it already does for you). Also if you like "dual boot" you can set the primary DNS on the NintendoDS to your IP (either public or local) then the second to your routers IP (because it also has a DNS) so even if you shutdown your server you can still access the official GTS since it will use the second DNS when the first is unavailable (just a tip).
  8. 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
  9. Hehe, people have their own theories and don't wanna read the truth.. Anyway it's well enough documented at glitchcity.info (seems to be offline atm, odd) so no need to make rumors that it's a beta Mew or alpha Celebi... it's not.
  10. 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:
  11. The NDS tries to connect on port 80 but if it's busy or someone else uses it at home then they need to put theirs to pause or your server won't be reachable. I haven't tried forwarding but if you use 7771 then on the router forward it so that when people type http://<your-ip>:80 they end up at http://<your-ip>:7771 otherwise it won't work, don't think the game tries other ports than 80.
  12. The issue is that it must be a IP it directs to and not a domain. Also you need to configure the .htaccess (RewriteBase value) then edit the index.php on lines 20, probably 21 ($servwww and $servroot). You almost need to echo the variables and see what they are to know what's wrong with them (or if they are configured right). The idea was to fetch the name of the request URI and extract the original file requested then $filename will contain the file requested so the if-part can handle the request properly. I know it's messy, haven't had time to implement a real script mostly because I have some math stuff to deal with (university) before I can sit down and work on the GTS site. I hope the host can handle IP's, problem is that I don't really know how to handle domain requests, just fetching the domains IP gives 207.182.149.248 and when you http:// it the host site is shown instead of yours (since they run multiple sites on one machine and use the domain and sub-domains to distinguish them). I'll look into a solution but for now the current DNS server is not domain friendly. D: The NDS tries to connect on port 80 but if it's busy or someone else uses it at home then they need to put theirs to pause or your server won't be reachable. I haven't tried forwarding but if you use 7771 then on the router forward it so that when people type http://<your-ip>:80 they end up at http://<your-ip>:7771 otherwise it won't work, don't think the game tries other ports than 80.
  13. Odd, hmm... Well basically this happens when it tries to bind the DNS server to port 53, it seems like some other program have taken the port and it's busy so it casts an error. About the syntax error it's odd as "except Exception as ex:" would be triggered when there is an exception and "ex" would be the string value that explains what went wrong. By the way http://www.python.org/ "Quick Links (2.6.5)" 'Windows Installer' -that's what I use, dunno, may be just a version difference that there is a syntax error there and not when I run it. The command/executable "python" should be accessible from any directory. It's not up to date (couldn't find one that was) but take a look at the idea of how to set up Python in the "Path" variable, click here. I think that would fix the issue. I means any IP that leads to the current machine (acting as server) will be accepted by the application, that is all port 53 connections. Note this does not mean that port forwarding can be ignored, only that 127.0.0.1, 192.168.0.100 (internal IP's) and so on, can access the service. Public clients will still be blocked by the router if port forwarding is not done properly. I believe this is a port forwarding issue, I myself use DMZ (because I am awesome) so it's basically like my PC is directly connected to the internet -thus I don't need to port forward stuff (don't worry about my security, I got a strong firewall configuration). Basically if you can access the official GTS without problems then you can also use the server(s) I made without a problem. Only issue is if port 53 (for the DNS) is not forwarded but it seems like you managed to as it shows connection queries on the console. When "gamestats2.gs.nintendowifi.net" is redirected to your own IP, the pkmserver.py script should show requests and responses on the console, if not then port 80 is not accessible and you need to port forward it too. Port 80 is the website, port 53 is the DNS server. Those two must be forwarded properly -this is ONLY if you want public access. You can still set the DNS to your local (behind router) IP. Also edit dnsserver.py and look at line 13. You can change "2" (use public IP) to "1" or manually enter your IP. This way you can manage to at least use it yourself without public access but only local access, I mean it's not a big deal if all you want is send stuff to yourself (like most people want). ----- Most issues people will encounter are port forwarding issues, because I've tested this on a port forwarding "free" environment (all ports open) and communication works fine both from the intranet requests and when using my public IP. When you want a public service you must open ports 53 and 80 for public access, then all DNS requests that are hooked will be visible on the pkmserver.py console as HTTP requests. Basically you run your mini http server (and you can if you like open http://<ip> in your browser to see a neat "Hello world" page for all non NDS users. Anyway I hope people work their problems out eventually. We developers do work on the GTS because there are still some small details left undocumented, thus there is no real GTS yet available. Thats why what you see is just some snippets of code made to barely work for specific things (like sending you a pokemon when you connect to the GTS). Expect problems and some errors here and there. Also since I use pkmlib.py by LordLandon for encoding the pkm files properly it still is limited to party-pkm files and not storage once. Storage files are smaller and the script fails to properly encode those while it works fine for the party once. Yet again some party files may also end up in a blue screen, I believe it's a encoding issue that will be fixed sooner or later.
  14. Still bugs in this version but overall it works for distribution. You get the idea at least, one is for DNS other is for the actual server. If you don't got a host the Python will act as the webserver too. Still using the library from LordLandon (think it still only accepts PKM files from Party pokemon and not Storage). Anyway try it out, seems some are desperate so I made a alpha release for private use. You need Python and port 80 to be open up, if you can connect to the official GTS then you can connect to this one too. Going to post a update and working (bugfree) version when I get time to polish it. dns_and_pkm_srv.zip
  15. http://glitchcity.info/wiki/index.php/MISSINGNO. It's all there on Glitchcity.info, read it all to find out what Missingno really is (no it's not Lugia).
  16. Let's just say that if it does utilize the DNS settings (as it should) and if the connection is not SSL encrypted it will be possible to as well emulate that like the GTS. Problem is if the server use SSL encryption it will be really hard to crack and then act as the server, the client would not get what it expects and it would just end up with errors and blue screens. Let's hope for the best but I have not looked into it, last time I checked for Mystery Gift over WIFI it connected to a special download server, didn't check the communication but it may be SSL.
  17. The Python script will send all DNS requests to what ever IP you like (in this case your own host IP). Now the PHP website thing is just a fragment of what "GTS" really is, just a test and it's not something I recommend you use. On the other hand what you can do is simply use the original LordLandon Python script that is both webserver and DNS server. Run sendpkm.py and it should ask you to enter the path to a .pkm file. Once that's done it will wait for a DS to contact it, the way that happens is to put your own IP (public IP even if you like) on the Pokemon network settings (in the Pokemon game, main screen, WIFI settings). Port 53 must be publicly open on the PC you use as a "server" and you should be able to log the GTS (official one) from before, this means all ports are okay. About the PHP script I made you must edit .htaccess (the relative "root" path) and the index.php (lines 16-20 and 26-27). Btw if line 16 is set to "$pure_log = 1;" then it simply acts and works as the official GTS because it just sends all requests to GTS and sends the response to the NDS and it wont tell the difference. You could try that just to see if it works, then by disabling $pure_log and enabling $pkmdist it will send what ever .pkm file you specify on line 27 to each person that connect. The DNS server must run on the side to keep redirecting requests properly. It's not bug free, it's far from finished and if you hang on a while longer there will be a proper GTS source-code available for all the enthusiasts that wanna run their own home GTS for themselves and friends. *Edit* Also, for the DNS to work properly, if you have a host and you ping the domain for your site you can read the proper IP, now if you http://0.0.0.0 directly, if you do not get to the website directly then it wont work using that as the server for the PHP files. I myself run XAMPP on my own machine, that's why my no-ip domain points directly to my IP so you can access my "homepage" both using IP and domain name. The DNS server LordLandon and I made are simple
  18. Ran the ZIP trough Legal.exe and found out that 3 of them do not pass the checks properly: Sceptile: Box 09 - 241-270_14.pkm Baltoy: Box 12 - 331-360_13.pkm Burmy: Box 14 - 391-420_22.pkm Also many are "Hacked or Unknown", pass but can't say if they are legal or not... my only experience is that if I have a Hacked or Unknown Pokemon I can't use it on Battle Revolution as it shows as a bad egg. :< Otherwise it's a awesome collection, hehe! Good job putting it together.
  19. This is kind of neat. Package contains a mini DNS server and the PHP files for the logging. It does require some configuration but in the end by having $pure_log on, it simply receives requests and writes the communication to log files. It still uses the official servers but the game is not aware of that, kind of cool. Helps log stuff when you go to GTS or the battletower, do some stuff and the data is logged for future research. I doubt it's something new but what the heck, perhaps someone gets more use of this than me. For example when I turn on my DNS server and set my NDS to connect to it, I can use the GTS/Battletower and the communications will be logged at http://vlacula.no-ip.com/pokemon/egts/pokemondpds/logs/! egts_website.zip
  20. I've played a bit around with this myself, thanks to the sample DNS server script LordLandon submitted and after some Python quick courses I managed to make a simple DNS redirect .py script that simply redirects all GTS related requests to a specific IP (webserver) thus you can by manually entering a DNS on the Pokemon game network settings, you can connect to a custom web-server and let it handle your client requests -rather than the official GTS. It's not perfect but combining the DNS server with a simple PHP script it currently let's you be online without disconnecting (though no results are returned when you search, deposit only shows the visuals -no pokemon is actually deposited anywhere). With a simple on/off flag I can make anyone that connects "forcefully" receive a pokemon as if someone traded with them. Looking around and I see others are looking into the server side data, it's nice because if the _GET[data] can be decoded and information extracted, it's possible to even create a PKM file server where you "search" for a pokemon and you always find "people" that trade it away (funny enough it would simply be the server decoding your search and then for example forcing you to accept a pokemon as if someone traded it to you the normal way). A lot of possibilities and I think there will be a projectpokemon.org official GTS DNS address everyone can input and fetch their legal pokemon at what ever level and gender they want. Included my sources as an attachment, nothing big just another version of what LordLandon made only that this is for a webserver (PHP and Python to encode/decode pkm/bin). By the way if you wanna try it out and see what awesome Pokémon you get by connecting to my GTS server, you actually can for tonight! Load the game, edit the network settings, set the DNS primary IP to my IP: 84.202.82.24. Save the changes and load the save, go to GTS (Goldenrod City, west of the Radio Station) and connect. So far the connection tests and "handshake" server(?) connections are not touched, but once it starts to read from the website it will be my own server and not Nintendos. If someone uses it tonight I'll check the logs and see how it went, just trying it out so won't be online after ~12 hours. egts_website.zip
  21. Playing on NO$GBA wraith89? Playing it on my NDS, finished the game some days ago (16 badges, Ash beaten, got all accessible legendaries, e.g.) Did some pro Smogon setup battles with my friends on PBR, was fun. I guess nothing else to do than wait for the next generation games, hopefully they will have more zones like GSC/HGSS, perhaps all generation places in one game? Would pew pew.
  22. Tried making a thread but think there are too many threads in moderation queue so perhaps a post will suffice. Just a quick respons to Izzi1r: unless you plan to restart the game, you can't meet Lugia once you kill it I believe... or did they change a fundamental feature in HGSS? :3 Anyway my post is about getting to Lugia the quickest way possible: You need Surf, Whirlpool and preferably Flash. Also you must have fought the kimono girls in Ecruteak City in order to actually meet Lugia. And you must have the 8 Johto badges. 1. Go/fly to Olivine City 2. Head south-west (to the beach) 3. Start surfing along the right side all the way down... 4. Once you see the first whirl of water, use Whirlpool to get across! 5. Enter the cave, follow the path until the road splits, take the north side! 6. Follow the path, first ladder you see is where you want to enter! There it is, hope it helps!
  23. I would say a coincidence, congratulations!
  24. You need ActionReplay in order to use the codes. ActionReplay is something most custom NDS cartriges have I assume, I own a CycloDS and I know they have AR code support. You must then edit the cheat database file using (in my case) the CycloDS cheat editor software, select the right game from the list and "Add cheat" to it, then you paste the right code segment (depending on if it's Platinum or D/P) then when you are about to start the game you must enable cheats in the options menu then select that cheat to be enabled, when you start the game the cheat is on.
  25. I'm not good at explaining, but it does not mater it's just a franchise and they will make shit up to suit their needs of money and continuation of the story -if it's profitable. ^^
×
×
  • Create New...