#YGOPro Salvation Server by Salvation Development
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
cd
to 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-admin
project adjacent to this folder. -
Run the following commands. It installs a package manager, and a testing harness, and then the dependencies.
nodist 8.11.4
npm install
-
create a
.env
file 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_MIN
To the lowest port that cores can run on. - Set
PORT_RANGE_MAX
To the highest port that cores can run on. - Set
PROXY_PORT
Proxy 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_URL
if connecting to a centralized hub, (staging, production), default should suffice for local development - Set
ADMIN_SERVER_LOCAL
to false if using external admin server. - Set
DEFIANT
to 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.