

Salvation Development is a large scale social engineering non-profit project set out to tackle the 'wicked problem' of Yu-Gi-Oh! Online Simulators via enterprise level software design. To do so it employs a merit of interconnected support software based around the core support software of YGOPro, written in HTML, CSS and JavaScript housed in this and sibling repositories. The project addresses issues of negligence by automating deployment and updating.
If you are looking for a system to use just for dueling with custom cards server side this is not the system, please use YGOCore for that. This system is much more complex and geared to the sole use of YGOSalvation.
To run the system use node ./. This will create a version of the system on your desktop at http://localhost.
-
Install Nodist for Windows Users, or nvm instead of Node JS. As nodejs versions increase we tend to stay with the latest releases. This helps simplify things.
-
For Windows users, open your PowerShell (not CMD) as Administrator (this is important), then
cdto the root of the cloned repository to install the following. Non Windows users can skip this step.- `npm install --global windows-build-tools
-
Install and setup MongoDB as a service
-
Install and properly configure
ygosalvation-adminproject adjacent to this folder. -
Run the following commands. It installs a package manager, and a testing harness, and then the dependencies.
nodist 8.11.4npm install
-
create a
.envfile in the top folder (beside this file).- Set
SSL_KEY=<path>SSL isnt needed to work locally, key path - Set
SSL_CERT=<path>SSL isnt needed to work locally, certificate path. - Set
HTTP=<number>When SSL is off the port that gets used for viewing the site. - Set
HTTPS=<number>When SSL is on the port that gets used for viewing the site. - Set
PORT_RANGE_MINTo the lowest port that cores can run on. - Set
PORT_RANGE_MAXTo the highest port that cores can run on. - Set
PROXY_PORTProxy gate port for inbound game connections to reach the rest of the intranet. - Set
ADMIN_SERVER_USERNAME=<string>andADMIN_SERVER_PASSWORD=<string>based on a "Server" Permission level user in the admin. - Set
ADMIN_SERVER_URLif connecting to a centralized hub, (staging, production), default should suffice for local development - Set
ADMIN_SERVER_LOCALto false if using external admin server. - Set
DEFIANTto disable safety controls that force deployer to configure the server correctly. Do not enable this unless you know what you are doing. To run the system usenode server. This will create a version of the system on your desktop at http://localhost.
- Set
Do not use our software without our permission. It is meant for use at http://ygosalvation.com if you want to use this software for something please leave open an issue explaining your intended use and we will write you a custom license.
This software was developed and designed to help the Yu-Gi-Oh! Online community which for years has been socially suffering. In line with that, to protect the community, this project is 'mostly open'. This software can not be used at scale without written permission. That means no more than 10 users. There is a very specific use case I have in mind where we will give out an a flexible license if asked by companies and major community leaders. I've seen this software abused, and we do not want to see that happen again. Basically you are not allowed to use this without asking for its creator's permission first.
Feel free to fork the project to change the code around and land patches back via pull request. For JavaScript please make sure it follows standard jslint rules on whitespace.
