Vlad

GTS: website research

653 posts in this topic

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. :P 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. ;)

when i try to connect to the gts server, it works fine until the gamestats2 request.

ingame i get this message: "You were disconnected from the GTS. Returning to the reception counter."

i placed .htaccess in the root of my webserver. i edited so it points to /pokemon/egts/pokemondpds/index.php$1

i edited the index.php file server root to point to C:\xampp\htdocs

i edited the log to goto C:\xampp\htcods\pokemon\egts\pokemondpds\logs ect.

what did i do wrong?

Share this post


Link to post
Share on other sites

@Arjun - PeeB4UGo: From what I understand, anybody who has the IP for the sendpkm setup can access it, making it an automatic "distribution center". All you have to do is hand out the IP to be input into as the system's DNS, and they all can access it.

Share this post


Link to post
Share on other sites
@Arjun - PeeB4UGo: From what I understand, anybody who has the IP for the sendpkm setup can access it, making it an automatic "distribution center". All you have to do is hand out the IP to be input into as the system's DNS, and they all can access it.

Twitch: While that's true for one system, that's as far as it goes, because the script closes immediately after the file is sent.

Share this post


Link to post
Share on other sites

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

dns_and_pkm_srv.zip

Share this post


Link to post
Share on other sites

Thanks for the work

Um how do i make this work on a web server >.<?

I got shared hosting server wanted to see if its possible to give it a try

Share this post


Link to post
Share on other sites
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 ....

i was mainly looking for the logging feature, as i already got a xampp server setup.

Share this post


Link to post
Share on other sites

Depends on your modem, go to portforward.com

If anyone is interested, I got this working on my computer, and I made a little package with everything I needed, using the dnsserver.py that Vlad posted and the vB script for distribution (since it's threaded).

For some reason it does require having Apache installed, and it required me to enable python for it as well (in hindsight PHP wasn't needed since I couldn't even get it to work properly with it, it wouldn't hand out pokemon, it would just do nothing :/)

I'm gonna try the new one Vlad posted now, seems cool.

I'm also checking out that Pokemon Fan Event site, looks good.

I've been hanging around Trickroom recently (they do a similar thing).

I've been wondering how hard it would be to get one DNS server and just have it randomly dish out to the other 3~4, so that the load isn't as bad on one, and you don't get lots of errors. It seems this will be very simple to do by editing the dnsserver.py, making it an array and serving different IPs (randomly selected) to different people.

Share this post


Link to post
Share on other sites
Just a quick question, but how'd you set this up?

I'm having issues trying to figure out how to set it up so that I can publish my DNS to allow people outside my network to connect. I was under the original assumption that your script is made so it can go up on a webhost, but when I put it up on mine it doesn't do anything (probably due to shared hosting), or maybe I'm missing on how to do this altogether, working on like 6 hours of sleep from 2 days ago.

Forgot to mention, I'm really only interested in serving up pokemon, preferably many at a time to different people (if possible) and being able to just have the script run at different times of day (easy enough to setup).

I tried no-ip (what you're using), but was still a bit lost despite having used it before.

You guys, why not install a full-fledged DNS server and redirect your DS there?

Have the DNS server lookup the real DNS server (your ISP provides). So you can just replace <insert GTS domain here> while still being able to trade (normal, not GTS) without changing wifi settings every time?

And for datoneguy, use the simple DNS script, and portforward TCP&UDP 53. Direct people to set their DNS server to your WAN ip.

Share this post


Link to post
Share on other sites
Twitch: While that's true for one system, that's as far as it goes, because the script closes immediately after the file is sent.

Not only does a simple batchscript fix this, but if you read the whole thread, on page 7 or 8 there is a link to GTS_Nuker, which is threaded and allows for multiple pokemon to be sent at the same time, and keeps sending pokemon as long as requests are made, until it is closed.

Share this post


Link to post
Share on other sites
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. :)

  File "C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\dnsse
rver.py", line 84
   except Exception as ex:
                     ^
SyntaxError: invalid syntax

Get this thrown up when I use it.

You guys, why not install a full-fledged DNS server and redirect your DS there?

Have the DNS server lookup the real DNS server (your ISP provides). So you can just replace <insert GTS domain here> while still being able to trade (normal, not GTS) without changing wifi settings every time?

And for datoneguy, use the simple DNS script, and portforward TCP&UDP 53. Direct people to set their DNS server to your WAN ip.

When I had portforwaded TCP/UDP 53 it still wouldn't work. I'm going to give it another shot now, just in case.

I've been having problems with dnsserver.py working period without having Apache setup, which is weird. :|

Share this post


Link to post
Share on other sites

Hey, I'm having trouble getting my DS to connect to my MacBook Pro.

I use my MacBook to connect my DS to the Internet in the first place via Internet sharing and AirPort. But I think it's just having trouble connecting to my actual computer.

It works fine when I enter the DNS of this thing (which I'm guessing is essentially the same thing except not on a local network) but it doesn't work when I enter the IP of my Macbook. So I'm assuming it's something wrong with my Mac/router settings but I don't know what, I'm not an expert on this.

I quickly read through this thread and I didn't find anything helpful in relation to this problem, so forgive me if I missed something.

Forwarding port 53 didn't work and the python script seems to run fine (it shows no errors).

Any ideas how to get it working?

Share this post


Link to post
Share on other sites

What IP are you adding into your DS? I'm not exactly knowledgeable of this whole internet sharing AirPort thing, and I don't use a mac, but the gist of it from what I understand is that you get your LAN IP (however you do that on your MAC), and you put that in your DNS settings for your DS.

The whole portforwarding and all of that is only if your DS is NOT on the network (via internet, etc)

Share this post


Link to post
Share on other sites

I'm putting 192.168.0.6 in the Primary DNS section on my DS (which is the IP of my MacBook). When I tap `Test Settings' it gives me error 52100.

Share this post


Link to post
Share on other sites

Test Settings will always fail, 100% of the time, unless you use certain methods here.

Here's what you do:

Insert the DNS, don't test, just accept, and move on to going ingame.

In game go to the GTS center (in Goldenrod), and connect from there.

This script only works through GTS.

--

@Vlad - I've been on /v/, and a certain IRC room and there is a LOT of demand for this working easily.

Hope you don't mind but I hosted a small bundle of what worked for me of the stuff I found in this thread, and it works easily:

pyrofyr.net/Stuff/pokemon/

I've only had one person say this way doesn't work so far, and he's still trying to figure it out now.

Share this post


Link to post
Share on other sites

It still doesn't work. When I try to connect to GTS the signal goes green and then red while still on the ``Connecting to Nintendo Wi-Fi'' screen. It eventually fails to connect. No ``Checking GTS server..'', no Pokeball falling from the sky animation. I checked my boxes, the Pokemon isn't in there.

I also assumed that testing connection would work because if I use the Pokemon Fan Event Center (link above) as the DNS, the test succeeds.

Share this post


Link to post
Share on other sites

They probably use the proper version (not normal sendpkm.py and dns), that actually does reroute everything that's not GTS, to the proper servers.

What error are you getting exactly?

Most likely the reason I'm not able to properly help you is due to me not using macs and having no idea how an AirPort works (and never having done this with InternetSharing). I guess you'll probably have to wait for someone more knowledgeable in both fields to help, sorry.

Share this post


Link to post
Share on other sites

Internet Sharing basically uses the AirPort card (that is used to connect to Wi-Fi on Macs) as a wireless router. My MacBook is connected via ethernet though.

The connection setup error is:

Error Code: 52100
Unable to connect to Nintendo Wi-Fi
Connection. Confirm connection settings
and access point settings.
For help, visit support.nintendo.com.

The GTS error is:

Unable to connect to Nintendo
W-Fi Connection.
Check your connection settings.

For help, visit
support.nintendo.com.
Error code: 52100

They're basically the same thing.

Share this post


Link to post
Share on other sites
Test Settings will always fail, 100% of the time, unless you use certain methods here.

Here's what you do:

Insert the DNS, don't test, just accept, and move on to going ingame.

In game go to the GTS center (in Goldenrod), and connect from there.

This script only works through GTS.

--

@Vlad - I've been on /v/, and a certain IRC room and there is a LOT of demand for this working easily.

Hope you don't mind but I hosted a small bundle of what worked for me of the stuff I found in this thread, and it works easily:

pyrofyr.net/Stuff/pokemon/

I've only had one person say this way doesn't work so far, and he's still trying to figure it out now.

I tried t and it works , nice going there

Question, is t possible to implement it on a regular shared webhosting ?

Share this post


Link to post
Share on other sites

Don't know, tried it and failed.

You mean you tried the script,or the testing? The testing works if you use Vlad's egts script. I haven't had success with the others.

Share this post


Link to post
Share on other sites

With the GTS nuker, how do I send multiple Pokemon at a time ? and What am I supposed to write for "Please enter the IP of the fake GTS server", is it the same DNS displayed by LordLandon's sendpkm app ?

Share this post


Link to post
Share on other sites

I can't say, I didn't fuss around too much with the visual basic DNS Server. If you want to try the one I linked to, the readme explains how to set it up easily.

Share this post


Link to post
Share on other sites
Not only does a simple batchscript fix this, but if you read the whole thread, on page 7 or 8 there is a link to GTS_Nuker, which is threaded and allows for multiple pokemon to be sent at the same time, and keeps sending pokemon as long as requests are made, until it is closed.

Thanks. I've read the whole thread, but I must've missed it.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now