diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..7d1e4a3 --- /dev/null +++ b/README.txt @@ -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. diff --git a/doc/make.bat b/doc/make.bat new file mode 100644 index 0000000..920ffd8 --- /dev/null +++ b/doc/make.bat @@ -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 ^` where ^ 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