Why is HTTP file server so cool

1. MUCH faster download speeds, especially if you're Asian and your server is in Asia
2. Full control on your game resources
NOTE: if you use GRF encryption, following guide will expose your encrypted files. If you want to keep the files encrypted, contact me in Discord for further instructions.

How to make own HTTP file server

  1. Open your "data.grf" with Tokei's GRF editor.
  2. Set codepage to "Korean (949)" in GRF Editor settings.
  3. Right mouse click on "data" folder, -> "Extract" -> "Extract folder".
  4. Repeat steps 1, 2, 3 for other GRF files in your folder. Warning: you need to start with the least priority GRF (usually data.grf) and finish with your top priority GRF (usually yourserver.grf or gepard.grf).
  5. Check if your client folder contains all your client files and folders, including BGM and System
  6. Open command prompt
    1. If you are using Windows
      cd C:\Your\Client\Folder
      chcp 65001
      dir /s /b /a:-d > list.txt
      
      Optional for Windows: to reduce your list.txt file size, open it with a text editor and remove common file prefix (i.e. C:/Your/Client/Folder) using "replace all". Warning: do NOT remove "data"!
    2. If you are using Linux
      cd /Your/Client/Directory
      find . -type f > list.txt
      
  7. Open your "list.txt" file in the client folder, check if it contains all your files, including client resource names and BGM names in UTF-8 codepage (with Korean characters).
  8. Upload all your files (all files, not only data and BGM directory!) to remote HTTP server. You can use .rar or .tar.gz for archiving. Do NOT use .zip or your file names may be corrupted.
  9. Test if these 3 links work (change http://yourserver.com/path/to/client/ to your path):
    http://yourserver.com/path/to/client/data.grf
    http://yourserver.com/path/to/client/data/texture/유저인터페이스/loading01.jpg
    http://yourserver.com/path/to/client/BGM/01.mp3
    http://yourserver.com/path/to/client/list.txt

  10. Optional: it's highly recommended that you enable GZIP compression on your HTTP server.
    1. If you are using NGINX, you need to add the following lines into your nginx.conf "location" section that is responsible for your client files:
                  gzip            on;
                  gzip_min_length 1000;
                  gzip_types      text/plain application/xml application/octet-stream;
      
      After that you need to reload your NGINX config from SSH:
          nginx -s reload
      
    2. Apache guide is not ready yet!
  11. Contact me at chris.edisson@gmail.com to update your server config

I've read your guide and still don't know what to do!