Skip to content

Commit

Permalink
Added README and Doc generator for Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
Ragora committed Oct 9, 2014
1 parent 7090bdc commit 60bc60a
Show file tree
Hide file tree
Showing 2 changed files with 341 additions and 0 deletions.
99 changes: 99 additions & 0 deletions README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
===========================================================================================
ScalyMUCK Version 3.5.0
MUCK server application written for Python 2.7.
Copyright (c) 2013 Robert MacGregor

This software is licensed under the MIT license. Please refer to LICENSE.txt for
more information.
===========================================================================================

ScalyMUCK BitBucket Wiki: https://github.com/Ragora/ScalyMUCK/wiki

Table of Contents:
I. Foreword
II. Installation on Ubuntu x86 and x64
A. Download/Verify Prerequisites
B. Configuring a Virtual Environment
C. Configuring with MySQL
D. Wrapping it up

I. FOREWORD

ScalyMUCK was originally designed to attempt to take the place of older, out of date MUCK server software and to attempt to ease
the process of switching as much as possible with the soon to come conversion tool.

II. INSTALLATION ON UBUNTU x86 AND x64
Seeing that ScalyMUCK is written in Python, it is very easy to get up and running in pretty much any Linux distribution
but this quickstart guide covers Ubuntu based systems (should also work for Debian as well).

A. DOWNLOAD/VERIFY PREREQUISITES
There are several tools used to download and install a working ScalyMUCK server, which can all be acquired using
the following commands:

sudo apt-get install python python-dev python-setuptools git && sudo easy_install pip && sudo pip install virtualenv

GIT is helpful for keeping your server up-to-date in the event that there are changes pushed to the source code.

B. CONFIGURING A VIRTUAL ENVIRONMENT
Configuring a working virtual environment to separate your dependencies isn't that hard of a task as well.
To create a fresh virtualenv you would run:

virtualenv --no-site-packages ScalyMUCK

Of course you can change 'ScalyMUCK' to whatever else you feel like, but note you should NOT move the virtual
environment once it was created as this will cause the virtual environment to quit working.

Once the virtualenv is created, I usually just move whatever application I am trying to run in it to the root
directory of the virtualenv but this is not required. You still, however, need to activate your virtual environment
by navigating to the bin/ directory and running:

. activate

Your terminal should now look something along the lines of: �(ScalyMUCK)user@host$�. This means the virtual environment is
activated and is ready for modification or execution of an application within the virtual environment's context. You now
need to install the ScalyMUCK dependencies by first CD'ing to the root directory of your ScalyMUCK install and running
(it'll only take a minute or two):

pip install -r ./requirements.txt

ScalyMUCK is now configured and ready to go and you may move on to sub section D. If you wish to configure ScalyMUCK to
work with a remote database server, then please refer to the appropriate sub section below.

C. CONFIGURING WITH MYSQL

By default ScalyMUCK uses SQLite which creates the database on your local file system � this probably actually will be fine
for most MUCK's anymore as I would imagine it's very hard to get that amount of activity to make this type of storage slow.
However, if you would like to to use MySQL there's a few more steps to do so.

First you need to make sure you have libmysqlclient-dev installed:

sudo apt-get install libmysqlclient-dev python-mysqldb

And you need to install mysql-python into your virtual environment:

pip install MySQL-python

After that, you must edit the appropriate fields in application/config/settings_server.cfg to correspond to your MySQL server
information.

D. WRAPPING IT UP

You now have several files to edit, all of which being entirely self-explanatory once you see them:
* application/config/server_config.cfg
* application/config/welcome_message.txt
* application/config/exit_message.txt
* application/config/permissions.cfg

Once you have the desired configuration, you can test ScalyMUCK as long as your virtualenv is still active by running the
following code from the application/ directory:

python ./main.py

ScalyMUCK should run as expected, however, theabove code will run ScalyMUCK as a non-daemon. If you wish to have a daemon you
would run it with:

python ./main.py start

ScalyMUCK is built on a fully modular architecture, therefore the base ScalyMUCK isn't all that capable of much. However there
is only a small handful of mods I have been attempting to furnish, which you can find information on at ScalyMUCK's BitBucket
Wiki as linked at the top of this file.
242 changes: 242 additions & 0 deletions doc/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
@ECHO OFF

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set BUILDDIR=build
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source
set I18NSPHINXOPTS=%SPHINXOPTS% source
if NOT "%PAPER%" == "" (
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
)

if "%1" == "" goto help

if "%1" == "help" (
:help
echo.Please use `make ^<target^>` where ^<target^> is one of
echo. html to make standalone HTML files
echo. dirhtml to make HTML files named index.html in directories
echo. singlehtml to make a single large HTML file
echo. pickle to make pickle files
echo. json to make JSON files
echo. htmlhelp to make HTML files and a HTML help project
echo. qthelp to make HTML files and a qthelp project
echo. devhelp to make HTML files and a Devhelp project
echo. epub to make an epub
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
echo. text to make text files
echo. man to make manual pages
echo. texinfo to make Texinfo files
echo. gettext to make PO message catalogs
echo. changes to make an overview over all changed/added/deprecated items
echo. xml to make Docutils-native XML files
echo. pseudoxml to make pseudoxml-XML files for display purposes
echo. linkcheck to check all external links for integrity
echo. doctest to run all doctests embedded in the documentation if enabled
goto end
)

if "%1" == "clean" (
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
del /q /s %BUILDDIR%\*
goto end
)


%SPHINXBUILD% 2> nul
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)

if "%1" == "html" (
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
goto end
)

if "%1" == "dirhtml" (
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
goto end
)

if "%1" == "singlehtml" (
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
goto end
)

if "%1" == "pickle" (
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the pickle files.
goto end
)

if "%1" == "json" (
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the JSON files.
goto end
)

if "%1" == "htmlhelp" (
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run HTML Help Workshop with the ^
.hhp project file in %BUILDDIR%/htmlhelp.
goto end
)

if "%1" == "qthelp" (
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run "qcollectiongenerator" with the ^
.qhcp project file in %BUILDDIR%/qthelp, like this:
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\ScalyMUCK.qhcp
echo.To view the help file:
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\ScalyMUCK.ghc
goto end
)

if "%1" == "devhelp" (
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished.
goto end
)

if "%1" == "epub" (
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The epub file is in %BUILDDIR%/epub.
goto end
)

if "%1" == "latex" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
if errorlevel 1 exit /b 1
echo.
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
goto end
)

if "%1" == "latexpdf" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
cd %BUILDDIR%/latex
make all-pdf
cd %BUILDDIR%/..
echo.
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
goto end
)

if "%1" == "latexpdfja" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
cd %BUILDDIR%/latex
make all-pdf-ja
cd %BUILDDIR%/..
echo.
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
goto end
)

if "%1" == "text" (
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The text files are in %BUILDDIR%/text.
goto end
)

if "%1" == "man" (
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The manual pages are in %BUILDDIR%/man.
goto end
)

if "%1" == "texinfo" (
%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
goto end
)

if "%1" == "gettext" (
%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
goto end
)

if "%1" == "changes" (
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
if errorlevel 1 exit /b 1
echo.
echo.The overview file is in %BUILDDIR%/changes.
goto end
)

if "%1" == "linkcheck" (
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
if errorlevel 1 exit /b 1
echo.
echo.Link check complete; look for any errors in the above output ^
or in %BUILDDIR%/linkcheck/output.txt.
goto end
)

if "%1" == "doctest" (
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
if errorlevel 1 exit /b 1
echo.
echo.Testing of doctests in the sources finished, look at the ^
results in %BUILDDIR%/doctest/output.txt.
goto end
)

if "%1" == "xml" (
%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The XML files are in %BUILDDIR%/xml.
goto end
)

if "%1" == "pseudoxml" (
%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
goto end
)

:end

0 comments on commit 60bc60a

Please sign in to comment.