Jump to content

GTS Servers and (Valid) Pokemon Creation for Dummies

Recommended Posts

I admit to knowing little regarding how servers and IP and DNSs work, and so on. Very little. But, JUST enough to create this very informal guide, for anybody curious and unable to muddle through the technological language used on the GTS: Website Research thread. My thanks to BulbaNews for pointing this out to me... And if anybody has any suggestions for how to change this, feel free to throw them at me. It's called "for dummies" partially because relatively speaking it was written by one. /shrugs/

And so, lizzledpink presents:

:bidoof: The GTS Servers and (Valid) Pokemon Creation for Dummies Guide :bidoof:

Welcome! If you're like me (only barely aware of what half of the terms used in the creation of this guide meant, but good with Pokemon) this guide is for you. It will explain how you can create your own pokemon - from scratch - and send it to your game directly using the power of the GTS!

You can start by having a Windows or Linux OS. I'm using Windows XP, so what I say will primarily refer to that. Linux users should be able to adjust (I'm not sure, I'm not one of them, sadly). Macs - sorry, you're probably out of luck unless you can run executable (.exe) files. Windows Vista and 7 users note that you may need to run all .exe and .py files as admin. (Right-click the file to do that, if you don't already know.)

A quick time saver, if obvious: save your game (Diamond, Pearl, Platinum, HeartGold or SoulSilver) at the GTS in Jubilife/Goldenrod City.

To make sure everybody's happy, I've hidden much of the optional or for-dummies-only parts behind spoilers. That way, the people who just want to download and get going and know what they're doing can easily get through this, and the people who need to know everything have everything laid out in an easy-to-read format.

For those of you who know the basic game mechanics, but don't understand what IVs or EVs are:

IVs are Individual Values and vary with every individual pokemon. Each stat - HP, Attack, Speed, etc - has a set IV value, ranging from zero to thirty-one. Thirty-one is the best IV you can have. Pokemon can legally/in the game have all IVs set at 31, but normally it's really rare. IVs give your pokemon better stats with higher values.

Every pokemon has IVs, so you'll probably want to know these. At least they're simple.

EVs are Effort Values. These your pokemon earns in battle. Each pokemon you beat gives your pokemon a set EV. For example - whenever your pokemon beats a Geodude it gains one Defense EV, no matter what level the Geodude is. You have a set value for each stat.

But within each stat, you can only earn up to 252 EVs. Also, the total of all six - HP, Atk, Sp. Atk, Sp. Def, Def and Spd - cannot total more than 510. (This means that setting all EVs at 85 makes them equal.) For every 4 EVs a pokemon earns in a stat, it gains one point for that stat. (So, if a pokemon earns 32 Speed EVs, it will have, say, 76 Speed instead of

Complicated? Yes. You don't need to mess with EVs if you don't want to, but if you DO understand them, I highly suggest it.

Okay, enough with the ugly math. On to the instructions.

If you don't know at LEAST the basic game mechanics, why are you even here?

Part One: Downloads

Feel free to skip any parts you are confident you have already downloaded.

The first thing you will want to download is Python, version 2.6.5.

Python is a programming language for the computer. Don't worry, you won't need to understand Python, just download it so that you can use the Python files, like sendpkm.py! Python Version 2.6.5 can be found at this page: http://www.python.org/download/ Choose the one labeled "Windows binary," Windows users. Linux... You're smart enough to figure that without my help.

This is the key download: sendpkm.zip.

This took a while for me to find, but thankfully, I bookmarked this one exactly in place. http://projectpokemon.org/forums/showthread.php?780-GTS-website-research&p=67086&viewfull=1#post67086 When the page loads, it should automatically scroll to the right post, number 44. The post should have an attachment called "sendpkm.zip" for you to download. So, download it, and unzip the file. This is what will send the Pokemon to the GTS server.

And now, the Legality Checker, with thanks to author Sabresite:

This next download is borderline optional. This is a program that will check the legality of a pokemon - whether it's clearly hacked, or apparently normal. I suggest it... Creating blatantly hacked pokemon is fun, but has consequences. So, use it to check that everything is in order - the pokemon's nature is right, the way it was caught makes sense, etc. http://projectpokemon.org/editing/legalitychecker.php

Finally, Pokesav. (Diamond/Pearl/Platinum versions highly suggested over the HG/SS ones)

This last download is the program that will allow you to create the pokemon. It's a powerful program that can edit every detail of a Pokemon file, from Trainer name to Items to Ribbons - but most importantly, Pokemon. You should only need the pokemon editing features. http://projectpokemon.org/editing/pokesav/pokesavdownload.php Pick either the Diamond/Pearl English version or the Platinum English version; both will work well. The Pokemon HG/SS version is buggy, for me at least.

Okay. Downloading's done. Files all unzipped? Python installed? Good. That was the easy part.

Part Two: Creating, Saving, or Downloading Pokemon

If you plan to simply download a preset pokemon (such as, say, the ones from http://www.pkmdb.com/NDS-English-Event-Downloads ) you can skip this entire section. But where's the fun in that? Remember to save the preset pokemon as a .pkm, in the sendpkm folder, and then go ahead to Part Three if you want to choose this option.

You can also skip this section if you already know how to use Pokesav to create a Pokemon. I wrote out a nice, easy (and delightfully time consuming) guide on creating pokemon from scratch for people who (as I did a few days ago) have little to no idea how to use Pokesav.

The Overly Detailed Pokesav Pokemon Creation Guide For Dummies:

Try to do everything in the order below. It's not strictly necessary, but will keep you very organized in the end, which is absolutely necessary when dealing with the Pokesav program.

As I write each step, I will also be providing an example by creating an Abra from scratch at the same time, so you have an idea of what to do.

0. If you ever need to reference something about a pokemon, my favorite pokedexes/resources for Pokemon data are bulbapedia.bulbagarden.net and, less commonly, marriland.pokemon.com! Or, use your own favorite site.

1. Start with selecting pokemon species. Pick anything from the drop-box labeled Pokemon in the top left. Smile. That was easy, right? For the sake of example, I'm choosing an Abra.

2. Optional: you can give your Pokemon a held item, if you want. Though Key Items are listed, if you want to keep your game uncorrupted, don't pick them. Also, don't pick things like Cherish Balls, which you can't actually obtain. Have fun with that. I gave the Abra an Amulet Coin. A simple, helpful item.

3. Trainer ID. Enter any ID you like here, anything from 1-99999. Also, under Trainer ID there is Secret ID. Pokemon games also assign trainers Secret IDs, which can't be viewed in-game. Unfortunately, this means your pokemon can't have you as its OT, unless you're using your own save file for the game - which, considering you're bothering to read this part of the guide, you do not have. Sorry. :( Still, it can be funny to pick the numbers... Amuse yourself. Use a funny date, or something. For this Abra, I set the TID to 1337 and the SID to 10101. Hooray.

4. Level. Type in a level from one to one-hundred. By typing in the level, Experience, the box beneath, should automatically set itself to the correct value. Sometimes, however, it doesn't, so be very careful and make sure the Experience changes its value when you type the Level in! I set Abra to level 10. The Experience changed itself to 560.

5. Happiness. Set any value from 1 to 255. Higher values mean the Pokemon likes you more. Helpful for happiness-evolution pokemon, like Eevee/Umbreon or Happiny/Chansey. Otherwise, it's not terribly important. I set my Abra to 70 happiness, a fairly standard value for a just-caught pokemon.

6. We'll skip PID for now. Also, regarding Pokerus - if you know what it is, take your pick. If you want to know what it is, look it up on Bulbapedia (look at step zero). If you don't know or care what it is, skip it. I left the Pokerus boxes unchecked, and ignored the PID box temporarily. By the way, PID stands for Pokemon ID.

7. IVs. 99% of the time you can click the "All 31" button and be happy. I already explained these above. Pick your poison. Mainly out of boredom, I set these to (going down) 16, 13, 26, 22, 31, and 20. But again, do whatever you like...

8. EVs. I explained these above as well. Yippee. You can either ignore this, or mess with it. Whatever you like. I kept Abra's EVs at zero across the board, keeping with the illusion that it was "recently caught."

9. Contest Stats are fairly irrelevant... They range form 0-255, with 255 being max condition. Unless you want a Milotic, you probably don't care. I ignored this part. Abra has no contest conditioning and I plan to keep it that way. :P

10. Now, we jump to the top! Hooray! Go back to what seems to be the middle column, at the top. Now, we choose the pokemon's name. It should currently look something like this: "Name | llllllllll | | Original Name |" Right? Clicking the original name button will set it to the Pokemon species name (for my Abra, that means ABRA.) But, if you want to nick name your pokemon, click on the button with many lines.

The name edit box pops up. Click in the text box (it should have a bunch of l's in it), backspace, and put a nickname of your choice in, with up to ten characters. Feel free to ignore the rest; click OK. Oh, and check the "Nicknamed" checkbox beneath these buttons, if you nicknamed it. I named Abra "Abrian," and clicked the checkbox. Yes, I am feeling creative indeed.

11. Below that, we have the OT (original trainer) Data. Like with the Trainer ID, you can't mess with this without a hard copy of your save file... So, have fun. Click the button with the lines to open the Name Edit box again, and type in whatever you like. Please note that when you press OK, anything past the seventh character will be cut off. SEVEN CHARACTERS LONG! Understand? Good. Now, below the OT buttons, we see an OT gender selection box. Pick male or female. Hooray. I made the original trainer's name SirLeet, who is male. Exciting!

12. We continue down the line, to the boxes labeled "Ball Caught With" and "Ability." Ball Caught With is set automatically to Cherish Ball. CHANGE IT. The only pokemon that should be in Cherish Balls are Event Pokemon, and the pokemon you are creating IS NOT. Going with the standard pokeball usually works best, but if for some reason you want to say "I caught this with a Net Ball" then change it to that. Whaaaatever. Just remember that pokemon supposedly hatched from eggs are in ordinary Pokeballs. Abra was "caught" with a Poke Ball. Keep it simple, stupid.

Now, for the Ability box. For this one you might need to look it up on the Internet. Some pokemon have two possible abilities, between which you must choose. Others just have one ability. Either way, to stay with a "legal" pokemon, you need to learn what abilities it can have, and choose them. Bulbapedia and Marriland's pokedexes will both list the abilities if you search the species. Find the website, find the page for the pokemon, and I highly suggest that you keep it open! For Abra, I went to Bulbapedia from the site given above. I typed Abra into the search box. I clicked where it said "Abra is a species of pokemon." I looked at the box at the right side of the page, and found that Abra has two abilities: Inner Focus or Synchronize. I then chose Synchronize from the drop-box back in the Pokemon Editor. :)

13. Skip the Marking Box. It's mainly irrelevant. You can change that any time within the game, anyway.

More importantly: Moves. What can this pokemon know? This part is rather fun. On the web pages that I hope you kept open, you can find all the moves your pokemon learns, in every way: Level Up, Egg Moves, TM/HM moves, and even Tutor moves. To keep legal, you may pick anything from the last two categories. You may pick anything from the Egg move category if you plan to make the game think this pokemon hatched. (Admittedly it's possible to have a non-hatched pokemon that knows an egg move, but it is rare.) Pick from the Level Up moves that your pokemon would have learned - for example, try not to make a level 5 Pikachu that already knows Thunderbolt. (Again, it's possible... But rare.)

The PP column is automatically set to zero. Ignore it. Your pokemon will be dropped into the box when you receive it anyway, and thus fully healed.

I looked at the Bulbapedia page for a while, and finally decided on the following moves for my Abra: Teleport (a level up from level 0), Zen Headbutt (a tutor move), Barrier (an egg/breeding move) and Flash (TM70). Not bad for a usually useless lump of a pokemon. No offense, Abra.

14. Contest ribbons/achievements... Do whatever you want. I don't care, personally. Abra had no contest experience at all.

15. Back to the top again, for column 3! We're almost done... Yeesh. Anyway, at the top we have some very important areas to fill: "Met at Level." For Met at Level, you can really type in any number below or equal to the pokemon's current level. If you want to maintain the illusion that the pokemon was hatched, set this to level one. Abra was met at level 10. I'm still pretending it's freshly caught.

Now. Of more importance is the Location at which the pokemon was caught. See the dropdown box? Please understand that no, you can't catch a Girafarig on route 204, however cool it might be. However, Girafarig COULD be caught at other places in Sinnoh. To be completely honest, you CAN probably get away with saying you caught the Girafarig on route 204... But if you can help it, don't. For "hatched" pokemon, set this to the place "Pokemon Day Care." For Pal Park pokemon, choose Pal Park... Be warned; this is a little trickier, picking Pal Park. You're almost better off just saying you caught a pokemon on a route where it's impossible. Abra was "caught" on route 203. I checked with Bulbapedia. Abra can definitely be caught there.

15. Date Met. Put either today, or a day before today. Do not put a date from before the game came out, such as 2004... That just doesn't make sense, you know. Abra was caught on March 24th, 2010, in honor of my brother's recent birthday.

16. Egg Hatched - leave this field and the drop-box below it alone, if your pokemon was not hatched. Abra wasn't hatched, so this is irrelevant. If your pokemon was "hatched," then pick a place it was hatched at with the drop-box. Don't pick a forbidden place, like the Mystery Zone. Also, pick the day the Egg was received. This should be the same day as or some time before the pokemon was "met" in step 15.

17. Hometown. Where did the pokemon come from? Which game? Pick anything that applies. Remember that 4th generation pokemon didn't exist in earlier games, so you have to choose Diamond, Pearl or Platinum. This has no effect on what game you transport the pokemon to, so if you're sending the pokemon to SoulSilver, for example, don't worry too much. I set Abra's hometown to Sinnoh - Pokemon Diamond.

18. If this pokemon will hatch from an egg - meaning it IS an egg, right when you get it - check the box that says "Is Egg" off to the right. You can also put in however many steps you need to take for it to hatch. I suggest a number around 100. That gives you enough time to fly to a location you want it to hatch at. If the pokemon has any ribbons - i.e. champion ribbons, effort ribbons (only check effort ribbons if the pokemon has 510 total EVs), Julia's ribbons - click the Ribbons button to choose those. Abra doesn't have anything from either of these, so I left the "Is Egg" box and the Ribbons button alone.

19. Up at the top, again! This time, we're looking at the drop-box in the top right corner. Language! You probably want English for this, unless you want a pokemon of a different language. Below that is the Fateful Encounter checkbox. You won't need to use this, most likely, but it set it so that the pokemon appears to be a mystery gift event pokemon. Pokemon that aren't mystery gifts shouldn't have this checked, for legality issues. Abra is English, and not a Fateful Encounter pokemon.

20. For Unown, Burmy/Wormadam, Shellos/Gastrodon, Deoxys, Rotom, Giratina and Shaymin, you might want to pick the form of the pokemon. For Giratina and Shaymin, make sure the held item matches the form you pick. Abra has no other form.

21. Do you remember that we skipped two things, at the beginning, and around step 6? You want to save the Stats Edit button and the PID for absolute last, and we're doing them now! Aren't you excited? You're finally almost done. Emphasis on Finally.

Go back to the PID box in the first column. Click the Generate button. Choose a Nature (you can check what effect Natures have on different Stats online). Class should be left alone. Gender is up to you. If you want to you can make your pokemon Shiny by checking the Shiny box here! Cool, right? Finally, click Generate. Based on all the values you've already given the program, it will come up with a unique PID - Pokemon ID, that is - for the pokemon. This will automatically be a legitimate PID, which is nice. Click OK. I made my Abra Quirky, which according to Bulbapedia has no effect on its stats, just as I like it. I ignored the class option. I set its gender to male, and decided to make Abra really cool by making it shiny! :) I clicked generate, and pressed OK.

22. Finally, the last step. Click the Stats Edit button at the top left - it's hard to miss. You don't need to manually input the stats, IF you have filled out the IVs, the level, and the EVs. Instead, just click the "All Max" button. Everything will be automatically set for you! You can even add a status condition if you want. I wouldn't bother. I clicked All Max, and Abra's stats immediately calculated themselves as I hoped. I clicked OK.

Now, you're done. If you've followed this guide really well, your Pokemon should be complete and the hacking should be undetectable. At the top of the window, click the OK button.

Back at the original window, your pokemon's name should now be in the Party Edit box, slot one. Click the "save" button next to your Pokemon's name. SAVE THE FILE IN THE SAME FOLDER LABELED SAVEPKM. You can name the file anything. I saved the file for Abra as customAbra.pkm.

Congratulations! You have created your Pokemon! Keep Pokesav open for now.

Step Three: Verifying and Sending Your Pokemon

So, now you have a .pkm file in the same folder as your savepkm.py file. But before we send the pokemon, we have more things to do. Go back to where you saved the Legal folder, with the Legal.exe and TrashBytes.exe files. Copy these files (and the readme if you really want to!) into the same savepkm folder! This makes things very easy.

We're going to start by ensuring that the pokemon we created/downloaded is valid/legal. If you already know your pokemon is a hack and don't care, skip this part.

Back in the savepkm folder, find the .pkm you created. Drag the .pkm and drop it, first, on TrashBytes.exe. A python screen should pop up, blank. Wait for it to start. Without you even doing anything it should do its job, then say "Press enter to exit." Press enter. Exit.

Now, a more important part. Drag and drop the .pkm to Legal.exe. A black screen will pop up, then fill with text - some of it colored. Read it through, looking for anything in red, and anything that says "invalid" or something similar. With the exception of the very last line, "Type:", if you followed this guide then everything should check out! If something is wrong, you need to go back to pokesav and figure out what you did that made the pokemon invalid. The Legal program's readme file can help with that, as can Bulbapedia and Marriland.

The last line - the Type line - may be impossible to validate, one way or another. The pokemon should still be legal enough to pass any tests, as long as it isn't a Manaphy or an Arceus, for example - obtained only via events. If it points to an obvious cause that you think you could fix with pokesav, it never hurts to try! Otherwise, just move on.

Finally, we can send the pokemon. Oh, wait... No. There's a few other things you should do first. Get your DS and your 4th generation game out.

Hopefully, your wi-fi works somewhere nearby. Ideally, you're at home, working on your computer with your DS nearby and a wireless router up and running. Second-best is if you take a laptop and your DS to a wi-fi hotspot at this point. But make sure that the computer and the DS are on the same network system!

Using your DS, start playing your Pokemon game, be it DPP or HG/SS. At the Start Menu, scroll down to the "Nintendo WFC Settings" (or a similarly named option) and press A. Press A again on the big blue button at the screen you come across. Go to the connection option that applies to this hotspot, and click it.

Most likely, your DS' wi-fi options are set automatically. The SSID is there, and maybe a WEP code. You can ignore them. Arrow down until you see the following option: "Auto-obtain DNS." Change this to "No." Where it says Primary DNS, click edit.

Set your DS aside, and return to your computer. Drag and drop the .pkm file on top of sendpkm.py and wait. It should tell you to set your DS' DNS server to a certain number. Do just that - pick up your DS and type in the number. Click okay, then click save settings, and press B until you return to the main Pokemon game.

Click continue. Get yourself to the GTS in the game, at either Jubilife or Goldenrod cities. Talk to the man at the counter. Save. Enter.

Connect to the wi-fi. If everything goes well, you should easily connect! It will seem as though you are accessing the GTS normally. You will connect, then walk up to the GTS console. The message on the screen should read, "Checking GTS status..." Beware that you have to wait for it to STOP checking the GTS status, which, considering it it likely downloading your pokemon, could take very long. Up to ten minutes, even.

This entire program works least well with Platinum, as a word of warning, and best with Diamond and Pearl. Still, it should work with all five. If you get a connection error, do not panic - in fact, with Platinum, HG and SS, you're all but supposed to. It should simply restart your game. One way or another, you will receive the pokemon as if from the GTS, and it will be in Box 1 when you next look. If you don't... Well, that's up to the experts. Troubleshooting is out of my league - I'm just here to clarify.

Congratulations! You've got your pokemon at last! Well done.

To change back to using the normal GTS, simply set Auto-obtain DNS to Yes again. :D

For other Troubleshooting, ask somebody who actually knows what's going on with the IP addresses and whatnot, or visit the websites given. :D I just know pokemon.

Credit and thanks to Sabresite, Bulbapedia and Bulbanews, Marriland, Lord Landon, Nintendo, and anybody else who indirectly contributed to this guide.

Link to comment
Share on other sites

Uhm, I've got a problem. I have a German Pearl (but I'm not from Germany), and I can't connect to the server. I tried with my HG too and didn't work. Should I try again with my Platinum or with my Pearl until it works? Thank you.

Link to comment
Share on other sites

for some reason when i use this method the servers dns is and thats not a valid dns so what do i do?

no, i found out how to fix that!

just disable your firewall on your pc! you don't have to touch your router settings at all!

Link to comment
Share on other sites

I followed the steps as thoroughly as possible, and the only problem I had is with the pokesav. We are instructed in this forum to drag the pkm file and hover it over the sendpkm.py file, but for some odd reason this doesn't happen. Any suggestions?

Link to comment
Share on other sites

yah i tried it but, if i type that in as a dns in the wifi connection options it just says invalid dns... whats the problem, btw i tried turning of my firewall and made no further progress also python is already allowed through is there anything else i need to allow?

just so you know im using a wireless router and am on a wireless connection on the pc i am trying this on

Link to comment
Share on other sites

For XP users, to find your local IP:

Down at the bottom right side of the screen you should see some icons and the time.

One of those icons should look like a computer screen with some waves coming out of it. If you don't see this icon click the arrow on the left to "show hidden icons" and you should see it.

Right click on this icon and choose "status".

A window will pop up. At the top of this window are two tabs. Click the "support" tab.

Look for where it says "IP Address". That is the number that you should put into your DS. Like was mentioned, it should be something like 192.168.1.xxx

Link to comment
Share on other sites

Great thread. But I have got some problems. When i drag and drop the pkmn file over send pkm it says set your ds dns server to I've tried typing in my Linksys routers IP adress, gone to the "whatsmyIPadress" website and typed that in, and tried turning off my firewall and other antivirus software. Any ideas?

Link to comment
Share on other sites

Change the DNS on your computer's settings (the one your Nintendo WiFi is connected to).

Click Start > Control Panel > Network Connections and select your local network.

On the General tab click Properties > Internet Protocol (TCP/IP).

Click Properties

The Internet Protocol window will appear. Click Use the following DNS server addresses and enter the DNS server(s) you want to use.

Link to comment
Share on other sites

The network address would be the same as the IP address?

4 hours later. I fixed it! You just have to simply restart the computer and hold F8 as it's doing so. It will then take you to a screen that asks you which mode you would like to resume with. Use 'Safe mode with Networking' and continue.

Edited by Hemo88
Link to comment
Share on other sites

  • 8 months later...

it wont let me send or anything it also said that python 2.6.5 was replaced with 2.6.6 is that a problem i thought i had it figured out but things keep pilling on me and ive just completly got lost and confused i am starting to get very frustrated if someone could please please help me it would be very much appritiated

and if you would please pm me that would be great

Link to comment
Share on other sites

I have 2 questions, one for IR-GTS and the Other is for Hyper GTS

IR-GTS: I can easily upload pokemon to the IR-GTS and get my .pkm in the files, where I am having the trouble is when I drop and drag then click enter, it says the file must end in .pkm (which it does!) and then it resets and I have to do it again, what am I doing wrong here?

Hyper GTS: I have it set up to distribute pokes to other folks fine, but how can I use it to upload my pokes to make .pkm files, and where would I find these files?

answers to my questions would be most appreciated!:biggrin:

Thanks in advance!!

Link to comment
Share on other sites

First post here, having a problem with this very thing.

After editing my DNS to what "sendpkm" tells me, my DS can't connect to Wifi period. I should probably mention that I have DD-WRT as my firmware and a split subnet, with WPA2 as my primary and WEP for connecting to Wifi via my DS. And Nintendo's website is pretty much no help at all on this issue.

Link to comment
Share on other sites

  • 3 weeks later...

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
  • Create New...