Network Update

You may have noticed in the right-click menu or in Triangle's double click menu an option to "update". When set up properly, this allows your ghost to connect to a server and download updated files you've uploaded, thus updating itself with new material. This is the Network Update.

Of course, you don't have to set this up if you don't want to, in which case you can ignore this page. However, without Network Update, when you update or change something about your ghost, your users will have to redownload the ghost entirely. It's your choice, really. But if you are interested in this feature, read on.

As I said, Network Update connects the ghost to a server where it then downloads the new files. Now, the first thing we need to set up Network Update is, obviously enough, a place to put those files.

No, you can't put them on Tumblr or Facebook. You can't put them on Dreamwidth or Livejournal. You can't even put them on a storage service like Sendspace, Mediafire, or Dropbox (I am pretty sure this will not work with Dropbox).

What you are going to need is free webhosting service like, and yes I am being serious here, Angelfire, Geocities (RIP), Altervista, or Tripod (maybe Blogger? I'm not sure). Believe it or not, despite the fact that the days of the personal website have long since passed, these services still exist and there are a wide variety of them. There's a page for them on wikipedia even. Look through here and see if a service jumps out at you. In particular, look for one that allows FTP upload since that will make things much faster.

You are going to need a service that will allow you to basically upload a mirror of your ghost's files onto your webspace, in the same directory layout as your computer. I'll explain more as we go along. Which service you choose is up to you.

I don't know nothing about making websites!!

Don't worry, the only thing you'll need to do is upload your files in the right configuration, and maybe write a very simple little frontpage for your ghost. I'm pretty sure most webhosts have an automatic page maker for newbies for just this purpose. More than anything though, you'll just need to upload your files.

I don't know nothing about FTP!

That's a bit more troublesome. You may want to read through this FTP tutorial, since that's a bit more complicated than I want to get into here. If this whole thing is scary to you, you don't need FTP to be able to do this, it just makes doing it a lot easier and faster. You can do it manually, it will just be pretty tedious.

So, go ahead and sign up for a free service. Set up your account. Take a look at how it works, but more importantly, look at how you upload files and how you set up directories within your new website.

As an aside, I thought doing this page would be pretty simple but I'm becoming increasingly aware that a lot of the basic skillset used for Network Update has been completely lost for those used to pre-made social media sites. Well, hopefully this won't be too opaque.

Your website host should have some kind of file manager in it so you can see what files you've uploaded to your tiny webspace. Look around and see if you can find it. Let's say you signed up with Tripod. Once you're in, it'll pop up a thing for Control Panel: Tools and some zeeblio nonsense, who cares. What you're going to want to click on is the File Editor tab. It'll have an option to create a new file, and clicking that will bring you to an html editor. Ignore that and instead click "file manager" in the navigation bar above. This is the kind of thing you're looking for, something that'll let you see all your files.

Here's what the file manager looks on Tripod. Now what you're going to want to do is make a new directory within your site. Name this directory something related to your ghost, or ghosts in general. Some examples are "ghost", "GT_ghost", "ABghost", whatever. Something to do with your ghost's name.

Once you've made that directory, go into it. If you're using Tripod, you should see a note within the file manager for "Directory: http://yourname.tripod.com/yournewdirectory/" which means you're on the right track.

What you are going to do now is upload every file within your ghost's folder on your computer into this new directory on your site, laid out just like it is on your computer. It will be a mirror copy.

So, to begin with, upload your install.txt, readme.txt, and thumbnail.png into this root directory. Then make two new directories called ghost and shell.

Go into your new shell directory, and make a new folder called "default_shell" or whatever the name is for your shell that you made for your ghost. Go into that new directory, and upload all your shell files. This includes your surfaces.txt and all your surface.png files. It should look just like the shell directory on your computer. You don't have to upload the /profile/ folder on your computer though. Just the txt files and the png/pna files within your default_shell folder.

In the file manager, go back up to your root directory, and this time go into the directory called ghost. Make another directory called master. Go into it. Upload all your .dll files, .txt files, and .dic files. You don't have to upload the /profile/ folder here either.

And that's it for the set-up! You should now have a set of directories on your webspace that's laid out just like your ghost folders on your computer, populated with the same files.

Now, if you have an ftp client, this part is much easier. In most clients, once you connect to the site, you can just click and select and drag files from one panel to the other and they'll transfer automatically. You can also click in and out of folders easily, as well as make new ones. Tripod limits you to uploading eight files at a time, but FTP has no such limit. Unfortunately, Tripod doesn't allow FTP access, so you may just have to sit and do it by hand, or sign up with a service that WILL allow you to use FTP.

Setting Up the Updates

Alright, now that you have your site basically set up, there's a few more things you need to do. First, go into strings.dic and find the section I set aside for your network update address. Put in the address for the folder you just made in the last step. So if you were on Tripod and you put all your files inside a My_ghost folder, you'd want to put http://yourusername.tripod.com/My_ghost/ into the strings.dic file where indicated.

Now, open your ghost. Open up an explorer window for your SSP/ghost directory. You should see a list of folders for the ghosts you have downloaded, including the folder for the ghost YOU made! What you are going to want to do is drag your ghost's folder on top of your ghost.

When you do this, a text box will come up that is completely in Japanese. SSP has updated so that this menu is now in English! The first option will make an updates2.dau, the second will make a .nar file, and the third will make both at once. Create Zip+Text update package is a brand new option that just got released, so I haven't really investigated it yet, and I'm not entirely sure what Ignore D&D and Report to Ghost does, honestly. SO since we're setting up for updates, you'll want the third option that will create both a NAR and an update file.

The ghost will tell you it's making a NAR file, and it will ask you where you want to save it. It will then tell you it's making an update file, then when the update file is completed. You will use the NAR file to distribute your ghost later, but for now, we're most interested in your update file.

Go into your ghost's directory on your computer. You should see a new file in there called "updates2.dau". What you are going to do is upload this updates2.dau folder into your yourhostingservice.com/yourghost/ directory. Not within the ghost or shell folders, but just in the root yourghost directory.

Alright, now the set-up is complete! But how do you actually update?

To actually update something

First, change whatever it is you want to change, add new dialogue, draw new poses, whatever. Make sure it all works and you're satisfied with it. Now, drag and drop your ghost folder onto your ghost again like you just did above, and select the first option. Your ghost should tell you it's making an update file, and the updates2.dau file within your ghost's root directory will be updated.

Now, go to your webspace. Go into the right folders and upload the files you changed. If you added new poses, go into yourghost/shell/default_shell/ and upload them there. If you changed surfaces.txt, upload it there. If you added new dialogue, go into yourghost/ghost/master/ and upload whatever .dic files you changed. Overwrite your existing files with these new changed ones. Make sure you upload EVERY changed file, or else you'll get an update error.

Once you've uploaded and replaced your old files with the new files, go into your root yourghost directory. Upload updates2.dau. You are done. Now when someone tells your ghost to update, they will connect to your webspace. The ghost will see that their copy of updates2 does not match the server's copy, and will download the appropriate new files as directed to update itself.

Once you have everything set up, setting up your ghost is really that simple. Make a new updates2.dau, upload the new files to your webspace, upload updates2.dau to your root ghost directory on your webspace, and done.

The tricky part is making sure you upload every file and making sure everything is in the right place to begin with. But once you have it all set up, it shouldn't be too hard to do again when you need to.

Testing the update

If you're like me, you'll want to test and make sure your update works properly. There's nothing more frustrating than updating your ghost and then hearing from your users that there's some kind of error. There are a few ways you can do this. Here is my super brief version from my notes.

change a thing and save it
make a new updates2.dau
upload changed file to right directory on your webspace and the root updates2.dau to root ghost directory on your webspace
go back to the file you changed and change it again
make a new updates2.dau
try and update

This is a very simple way of checking that Network Update works at all. It took me a lot of work to figure this out, so I hope you appreciate it, haha. Your ghost will try to connect to your site. If it succeeds, it will download the file and tell you so! If it runs into an error, then something is wrong.

While this is handy for making sure your ghost can connect to your webspace and that all is in order, it's not that helpful for making sure that the user who doesn't have all your up-to-date files can connect to your ghost and update. While having a friend who has your ghost try and update to test it for you is the easiest way, sometimes that's just not convenient.

The latest method I've used to test this is to simply set up a duplicate SSP directory. You can just copy and paste yourself one, the program is so lightweight. Once you do so, go into the dupeSSP\ghost folder and delete your ghost's folder. Run this copy version of SSP, and reinstall your ghost using the NAR file you made in the step above. Drag and drop it on the whatever ghost comes up. Incidentally, this is also a good way to test your NAR file, your install.txt file, and even your OnFirstBoot file.

Once you've installed this dupe version of your ghost, go ahead and switch over to it. It will be in the same state as the NAR you made at first, so presumably will not be updated like your current real ghost.

Set up an update as described above with your real ghost, making an uploads2.dau file, uploading your new files, uploading the uploads2.dau file in the right place. Go over to your dupe ghost, and tell it to update. It should connect to your site and download all the new files you just put up.

If your ghost gets stuck on a file, it will often try to download it or find it multiple times. This can happen if you deleted a file from your computer/your site but didn't delete it on the other, or forgot to upload a file to your webspace. If this is the case, you'll see your ghost struggling to get it, and it will briefly flash the filename of the file near the bottom of your balloon. Make a note of that filename. Check your webspace. Is the file there? Did you upload the most recent copy? This is your big clue to finding out what the error may be.

If the update fails due to an MD5 failure, this means that file isn't the right version. You may have forgot to upload the newest version of the file, so go into the right directory and do so again.

If your dupe ghost updates properly, then success! You should be okay. If you've managed to convince your friends to download the ghost, you can also ask them to update to see if it works.

I noticed an updates2.dau in my ghost/master folder, what's that about?

Ignore it. The only updates2.dau you will be using or uploading will be the one in your root ghost folder. That other one is there just to confuse you as far as I know. But the only one you'll want to upload is the one in your root ghost directory to your root ghost webspace directory.

Testing Update Dialogue

Now, in etc.dic, you saw a lot of dialogue set aside for when your ghost updates itself, and you probably saw some glimpses of it while you were testing your updates just now. But let's say you want to test the update dialogue more thoroughly or want to see how it flows. There is a way to test this without actually connecting to the internet.

In the developer panel, there's a button at the bottom for "Open..." and if you click that, it'll bring up a menu with a few different options. Of interest to you are the four bottom options, the ones that begin with "Update Event". Clicking one of these will simulate your ghost updating without actually updating anything. Use these to test the dialogue you've written for your update, as well as the pauses between, how long it takes a file to download, any aspect of the dialogue you want to tweak.

Didn't you say something about making a webpage?

Right. While you can probably get away just using your free webhost for storage, you're less likely to get thwapped and shut down for leeching if you set up a little page so it at least looks like you're using your webspace. It'll also make a convenient hub page for your ghost.

Pretty much any webhosting service will have an "easy mode" webpage creator. Use that to make a little landing page for your site. Put up a picture of your ghost. Upload your NAR file and link to it. Describe who your ghost is, what it does, how to use and install it, where you can be contacted or where your main blog is. Publish the webpage, check that it looks right, and you're done. You could change the page everytime you update your ghost, but you don't have to. Just a little landing page for it will be fine.

And that should basically be it! Feel free to move on!

<--Phase 4 - Light Coding

Phase 6 - Publishing your Ghost