Moviebattles Wikia

TESTING DISTRIBUTION GUIDE[]

By 2cwldys


In this guide, I will cover the ability to distribute your files for private testing. To gain more accurate information to better improve your FA/Legends contributions in the hope they will eventually be integrated into Moviebattles.

Depending on the severity of the importance of your project, and how in-depth it is, or something for fun and sport. You can otherwise distribute your files publicly, without issue. Keep in mind players can generally access, change, and use anything you modify or create in a .pk3.

Eventually, if your work surpasses the file size limit in discord sending to your friends, you will have to seek other options.


There are several methods for safeguarding your work while safely testing, some of which I will cover, and others hinted at with links to assist you.

Some of these methods, unfortunately require some sort of access or ownership over a (VPS) virtual private server, with basic networking knowledge.

Cloud Services[]

You can use several services such as google drive, mega.nz, and dropbox.

These services work quite well in controlled environments, and is generally hands free from any webserver work.

Subversion[]

You can host a subversion (SVN) server on windows,

Distributing private logins to your testers, giving you more direct control over your project accessibility.

More documentation here for use.

Git Clone in a Batch File[]

You can instruct your testers to download Git, to then distribute a batch file, or a shell script that can pull the latest github repository.

bashCopy code#!/bin/bash 
 
# Clone the git repository 
git clone https://github.com/your_username/your_repo.git 
 
# Navigate into the repository 
cd your_repo
pause


You can also prepackage Git in your batch file, if you wish to skip the unnecessary steps of having your users download several things to participate.

NSIS Auto Updater[]

For a more hands off approach, while still using a webserver, without the unnecessariness of having to set up Subversion or the hassle of other options. You can install XAMPP on your (VPS) virtual private server. Make sure to modify your firewall inbound and outbound rules to accept Port 80. This option far excels Subversion in the way that you do not need to create specific SVN accounts for your users.

Run and configure Apache in the API. You can go to Explorer in the API, and then travel to xampp\htdocs, create a folder called files.

As long as Apache is running on this API in your (VPS) virtual private server. Players will have access to these files directly linked to them.

You can change the directory however you like. If you do not feel secure having your IP publicly embedded in software, consider this option here.



Download the latest version of NSIS, otherwise known as "Nullsoft Scriptable Install System."

You can access extra documentation to better refine, and perfect your auto updaters, but for the sake of simplicity here is an example below:

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "My application"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "My company, Inc."
!define PRODUCT_WEB_SITE "http://www.mycompany.com"

; MUI 1.67 compatible ------
!include "MUI.nsh"

; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\YOURICON.ico"
# Place your custom icon in this directory. They must be 64x64 in size.

; Welcome page
!insertmacro MUI_PAGE_WELCOME
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!insertmacro MUI_PAGE_FINISH

; Language files
!insertmacro MUI_LANGUAGE "English"

# define the name of the program while it is running.
Name "YOURNAME"

# define the name of the installer
Outfile "YOURNAME.exe"
 
# define the directory to install to,
# leaving this field empty will force the user to pick the location.
InstallDir ""
 
# very important if you wish your users to see the progress of the update.
ShowInstDetails show

# default section
Section
 
# define the output path for this file
SetOutPath $INSTDIR

# does it overwrite?
SetOverwrite ifnewer

# define what to install and place it in the output path
NSISdl::download /TIMEOUT=10000 "http://YOURIPorDNS/files/z_zz_PAKNAME.pk3" "$INSTDIR\z_zz_PAKNAME.pk3"
Pop $R0 ;Get the return value
  StrCmp $R0 "success" +3
    MessageBox MB_OK "Download failed: $R0"
    Quit

# a message box indicating it's checking for updates
MessageBox MB_OK "DOWNLOADED"

# end of section
SectionEnd


You will have to use your own icon, do not use the Moviebattles II logo or icon, to not confuse it with the upstream project launcher. Be original.

Here is an icon converter, which you can use to get the exact measurements you need. 64x64.

You can find free icons here for use, or design your own.

NSISdl allows the ability to automatically detect new files on a webserver, and then above in the script overwrite if necessary. You can do this for as many files as you need as required. In the case of breaking up your work in the form of assets1->4 to fit Moviebattles development methodology.

Run this script through the NSIS compiler, make sure you are using ZLIB non-solid compression, as else it may false-positive flag individual antiviruses. Be sure to run your file through the virustotal universal database, so they may parse your files for security tests, and you can share your results.


This script creates an executable that functions like an installer, it cannot check for discrepancies but can guarantee the obtaining of the latest file. Removing the waste of bandwidth utilizing free cloud servers, and less hassle on all ends allowing players to run an executable to eliminate unnecessary legwork.

Anytime the IP or DNS specified in the script compile changes, you will need to distribute a new executable.

So, this can function as an auto updater for your purposes, you should aim for your playtesters to install them to the ..\MBII directory.

Pull Requests to Text Assets[]

When finished with your FA/Legends modifications, with sufficient player base for testing and refining your product. You can fork necessary branches of the textassets repository from the official Moviebattles GitHub. Be sure to check and clear with the development team where to find the best branch to submit your work, else find your pull request denied. As an active FA/Legends contributor, this should be of no issue to you with good communication.

If you are unsure of how to use GitHub, studying the documentation surrounding the GitHub desktop API is a good way to start.

Information on how to submit a pull request is here. Anything with text assets are generally accepted. Anything further such as unique sounds, uishaders, models, maps or even replacers have to be screened through development before their submission into the larger overall assets.

You can reach an overall larger audience for playtesting your content by seeing it's eventual use in any open betas, again as an FA/Legends contributor this should be of no problem to the content creator. No content should have to be released half-baked, with these tools you can certifiably gain all the testing feedback you need to seek forward momentum with your legends modifications or FA projects.