 ec0822c5eb
			
		
	
	ec0822c5eb
	
	
	
		
			
			* Docs: Mention Git in the "Optional" section of "Running from Source" GIt is required to install the Zilliandomizer package. Also, this is probably just nice to have. * Remove mention of Zillion so the text doesn't need updating. * Update docs/running from source.md Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Update docs/running from source.md Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Mention PyCharm's git integration --------- Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
		
			
				
	
	
		
			88 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Running From Source
 | |
| 
 | |
| If you just want to play and there is a compiled version available on the
 | |
| [Archipelago releases page](https://github.com/ArchipelagoMW/Archipelago/releases),
 | |
| use that version. These steps are for developers or platforms without compiled releases available.
 | |
| 
 | |
| ## General
 | |
| 
 | |
| What you'll need:
 | |
|  * [Python 3.8.7 or newer](https://www.python.org/downloads/), not the Windows Store version
 | |
|    * **Python 3.11 does not work currently**
 | |
|  * pip: included in downloads from python.org, separate in many Linux distributions
 | |
|  * Matching C compiler
 | |
|    * possibly optional, read operating system specific sections
 | |
| 
 | |
| Then run any of the starting point scripts, like Generate.py, and the included ModuleUpdater should prompt to install or update the
 | |
| required modules and after pressing enter proceed to install everything automatically.
 | |
| After this, you should be able to run the programs.
 | |
| 
 | |
|  * With yaml(s) in the `Players` folder, `Generate.py` will generate the multiworld archive.
 | |
|  * `MultiServer.py`, with the filename of the generated archive as a command line parameter, will host the multiworld locally.
 | |
|     * `--log_network` is a command line parameter useful for debugging.
 | |
|  * `WebHost.py` will host the website on your computer.
 | |
|     * You can copy `docs/webhost configuration sample.yaml` to `config.yaml`
 | |
|     to change WebHost options (like the web hosting port number).
 | |
|     * As a side effect, `WebHost.py` creates the template yamls for all the games in `WebHostLib/static/generated`.
 | |
| 
 | |
| 
 | |
| ## Windows
 | |
| 
 | |
| Recommended steps
 | |
|  * Download and install a "Windows installer (64-bit)" from the [Python download page](https://www.python.org/downloads)
 | |
|    * **Python 3.11 does not work currently**
 | |
| 
 | |
|  * **Optional**: Download and install Visual Studio Build Tools from
 | |
|    [Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
 | |
|    * Refer to [Windows Compilers on the python wiki](https://wiki.python.org/moin/WindowsCompilers) for details. 
 | |
|      Generally, selecting the box for "Desktop Development with C++" will provide what you need.
 | |
|    * Build tools are not required if all modules are installed pre-compiled. Pre-compiled modules are pinned on
 | |
|      [Discord in #archipelago-dev](https://discord.com/channels/731205301247803413/731214280439103580/905154456377757808)
 | |
| 
 | |
|  * It is recommended to use [PyCharm IDE](https://www.jetbrains.com/pycharm/)
 | |
|  * Run Generate.py which will prompt installation of missing modules, press enter to confirm
 | |
|    * In PyCharm: right-click Generate.py and select `Run 'Generate'`
 | |
|    * Without PyCharm: open a command prompt in the source folder and type `py Generate.py`
 | |
| 
 | |
| 
 | |
| ## macOS
 | |
| 
 | |
| Refer to [Guide to Run Archipelago from Source Code on macOS](../worlds/generic/docs/mac_en.md).
 | |
| 
 | |
| 
 | |
| ## Optional: A Link to the Past Enemizer
 | |
| 
 | |
| Only required to generate seeds that include A Link to the Past with certain options enabled. You will receive an
 | |
| error if it is required.
 | |
| 
 | |
| You can get the latest Enemizer release at [Enemizer Github releases](https://github.com/Ijwu/Enemizer/releases).
 | |
| It should be dropped as "EnemizerCLI" into the root folder of the project. Alternatively, you can point the Enemizer
 | |
| setting in host.yaml at your Enemizer executable.
 | |
| 
 | |
| 
 | |
| ## Optional: SNI
 | |
| 
 | |
| [SNI](https://github.com/alttpo/sni/blob/main/README.md) is required to use SNIClient. If not integrated into the project, it has to be started manually.
 | |
| 
 | |
| You can get the latest SNI release at [SNI Github releases](https://github.com/alttpo/sni/releases).
 | |
| It should be dropped as "SNI" into the root folder of the project. Alternatively, you can point the sni setting in
 | |
| host.yaml at your SNI folder.
 | |
| 
 | |
| 
 | |
| ## Optional: Git
 | |
| 
 | |
| [Git](https://git-scm.com) is required to install some of the packages that Archipelago depends on.
 | |
| It may be possible to run Archipelago from source without it, at your own risk.
 | |
| 
 | |
| It is also generally recommended to have Git installed and understand how to use it, especially if you're thinking about contributing.
 | |
| 
 | |
| You can download the latest release of Git at [The downloads page on the Git website](https://git-scm.com/downloads).
 | |
| 
 | |
| Beyond that, there are also graphical interfaces for Git that make it more accessible.
 | |
| For repositories on Github (such as this one), [Github Desktop](https://desktop.github.com) is one such option.
 | |
| PyCharm has a built-in version control integration that supports Git.
 | |
| 
 | |
| ## Running tests
 | |
| 
 | |
| Run `pip install pytest pytest-subtests`, then use your IDE to run tests or run `pytest` from the source folder.
 |