Evennia Portable/Stand Alone Setup in Windows...

102 views
Skip to first unread message

Tristano Ajmone

unread,
Feb 18, 2015, 6:18:07 AM2/18/15
to eve...@googlegroups.com
Yesterday I did some research on the www and came across two Portable-Python editions which look promising for creating a totally-stand-alone version of Evennia for Windows.

1 — Portable Python


This one comes with an "installer" (which is really just an unpacker with a menu to chose what to extract) a huge load of libraries and some tools (including PyCharm community edition -- a very good Python-specific IDE; and IPython --which is reccomended for Evennia developers).

The created folder is completely stand-alone, can be moved around (change it's location) without breaking it, and doesn't modify any win-registry or environment path. I looked inside the source package at GitHub: the author has setup an automated-scripted working environment which downloads all the Python-related packages, unpacks them, patches them to make them stand-alone, tests them, arranges them in folders, and finally repacks them in an installer with menu. Quite a neat work which lends itself to easy customization and updates.

It can run along with a preexisting Python installation without conflicts. Which is as good and using virtualen in ordinary Python setups.

Latest release comes with Python 2.7.6.1, PyWin32 218, Django 1.6.2 (—this needs to be checked: Evennia requires minimum v1.7, but it should be updatable) and all the pip / easy_install / ecc. / required tools.

The full installation is around 800Mb, there are many things which are not needed to run just Evennia.

I'll give it a try on a PC where I don't have Python preinstalled and see if I can manage to set it up and running with Evennia, strip out all the unneeded stuff and create a zipped folder which could be shared as an "out-of-the-box Evennia for Windows distribution". I could create a GUI interface with some one-click server start/migrate functions, and see if I could also integrate it with a git-like updater for Evennia files within the package.

It looks promising and possible to achieve. I am not in any urgency to get it going (Evennia is working fine right now on my PC) but I'd like to have a copy of Evennia on my netbook without having to install Python.

2 — Python Standalone Distributions  (PSD) 


This one is more of a bare-bone version in respect to the previous one. It come in two versions: core and complete — the former being really minimalist, the latter being the standalone equivalent of a normal Python installation stripped of all examples, docs, ecc. The idea of this author was to provide a standalone framework to redistribute some Python codes to third parties. For Evennia setup we'd have to go for the "complete edition" because the core edition doesn't have pyWin32!

The latest release come with: Python 2.7.1 + pywin32 r216 

So, if the previous project aimed at providing a full (but standalone) Python working environment, this one aims at just supporting execution of Python scripts.

In this respect, both are good candidates for a stand-alone release of Evennia: the first one more aimed at those who want to change Python code in Evennia, the second at those who just want to have Evennia running and connect into it. On the one hand, if one really wants to work with Python code I don't see why he shouldn't install Python; so the second option seems a better candidate. On the other hand, the first package is more user-friendly when it comes to customization.

Python Standalone Distributions  (PSD) is much smaller than Portable-Python, but it does need to change some environment variables in the system, and can't be just moved around (not fully standalone, looks like it handles path non-relatively). Also, the author's approach is to work with .bat batch files compiled to .exe and have them associated to the .py extension.

Maybe some simple workaround coulb found as an alternative approach to the author's. In any case both these solutions lend themselves to the creation of an Envennia-Standalone for Windows. I'll give it a try and share my results at some time or another. And if I need help I'll be knocking on this door...

Tristano

Griatch Art

unread,
Feb 18, 2015, 7:34:03 AM2/18/15
to eve...@googlegroups.com
These are interesting options and I can see why you'd look for things like this with the issues you had installing pywin32 on Windows. I should probably point out that Evennia is not really something you are supposed to install and forget about though. It's a library (and will be even more of a library when devel-branch merges) and one downloads it with the direct intention of developing games in Python.

Yesterday I actually toyed with small(ish) Linux distros. There are some really nifty ones (LXLE and WattOS were particular favorites) and all of them easily install Evennia. But considering that even the smallest of those I tested still ends up with a virtualbox disk image of 2GB with Evennia installed I think it's likely easier to just have people set up their own virtualboxes with a linux image if that's the route they want to go.

I think that for a consistent Windows solution, the right thing is probably to look closer into how Twisted (which is where Windows has issues since it depends on some compiled parts) generally recommends installs to happen on the Windows platform.
.
Griatch

Tristano Ajmone

unread,
Feb 18, 2015, 7:55:16 AM2/18/15
to eve...@googlegroups.com

I should probably point out that Evennia is not really something you are supposed to install and forget about though. It's a library (and will be even more of a library when devel-branch merges) and one downloads it with the direct intention of developing games in Python.

Sure, that's a given! I was thinking more of someone who wished to try out Evennia first, or having some copies of one's work on a USB stick to show around without having to install it on third parties computers. And, of course, there is always the case of those who don't have permission to install on the system (at the workplace, at school, ecc). Shouldn't we encourage, after all, workers to play/develop Muds against all efforts of their employees to prevent them from installing software on working-place PCs? ;-)


Yesterday I actually toyed with small(ish) Linux distros. There are some really nifty ones (LXLE and WattOS were particular favorites) and all of them easily install Evennia. But considering that even the smallest of those I tested still ends up with a virtualbox disk image of 2GB with Evennia installed I think it's likely easier to just have people set up their own virtualboxes with a linux image if that's the route they want to go.

Woow, 2Gigs! that is big. Just downloading such a huge file would take more than installing the ordinary way.

I was thinking more of a VM disk image with a headless-distro (TinyCore Linux, for example) all setup and ready to go with all required ports opened for listening. meaning: the user would interface with Ev in the VM from the host system via the virtual network driver of the guest VM. For me the difficoult part would be to setup the IP Tables, firewall, ecc. When it comes to such issues (especially network security) I am a fish out of water.

Maybe a Raspberry Pi virtual machine (QEMU?) would be worth investing time into, since I seem to gather many people consider installing Ev on a R-Pi for serving live it via their internet connection. Surely providing such a disk image (which could mount out-of the box on QEMU and a R-Pi) would attract lot's of people curious to experiment with Muds. Not that we're here to promote anything or to do "propaganda", but the reality is that it took me months of googling to get to Evennia. Googling Mud/Mush  usually leads to many old unmantained websites, dead links, out-of-date software tools, ecc. it took me a great deal of patience to put order in my research and sift the old from the still-alive, ecc. 

Before arriving at Evennia I stumbled in other Python Moo projects, most of them died in beta, others were just intentions and no source code. To say: it's a mess out there for someone (like me) who doesn't come from the Mud world but is approaching it just now. Also, there is an issue with BBBs, Muds, and IF being seen as "old-school" and "things of the past". As a fact, using LambdaMoo today is a bit of a struggle (there are exceptions, like Stunt+Improvise), but overall we are dealing with getting into very old softwares -- and it's hard for those who were not into it at the time they were "fresh").

Python brings a whole-new relief in this direction, making Evennia a project with a great potential (not only for gaming).

An "Ev on Raspberry-Pi Out-of-The-Box" solution would mean a sure and easy promise to users that they can host their mud server at home!

So fare I've gathered that it's possible to run Ev on Pi... am I right?
 
I think that for a consistent Windows solution, the right thing is probably to look closer into how Twisted (which is where Windows has issues since it depends on some compiled parts) generally recommends installs to happen on the Windows platform. 

Definetly! But I might not have the required experience with it to grasp it all.

Tristano 

Griatch Art

unread,
Feb 18, 2015, 8:54:44 AM2/18/15
to eve...@googlegroups.com


On Wednesday, February 18, 2015 at 1:55:16 PM UTC+1, Tristano Ajmone wrote:

I should probably point out that Evennia is not really something you are supposed to install and forget about though. It's a library (and will be even more of a library when devel-branch merges) and one downloads it with the direct intention of developing games in Python.

Sure, that's a given! I was thinking more of someone who wished to try out Evennia first, or having some copies of one's work on a USB stick to show around without having to install it on third parties computers. And, of course, there is always the case of those who don't have permission to install on the system (at the workplace, at school, ecc). Shouldn't we encourage, after all, workers to play/develop Muds against all efforts of their employees to prevent them from installing software on working-place PCs? ;-

The most common case for not having install privileges is when running with shell access on a remote server. Python is general standard on such machines, I suspect it's the same for Windows servers. But It's a fair point for other situations, like workplace and school, sure.
 
Yesterday I actually toyed with small(ish) Linux distros. There are some really nifty ones (LXLE and WattOS were particular favorites) and all of them easily install Evennia. But considering that even the smallest of those I tested still ends up with a virtualbox disk image of 2GB with Evennia installed I think it's likely easier to just have people set up their own virtualboxes with a linux image if that's the route they want to go.

Woow, 2Gigs! that is big. Just downloading such a huge file would take more than installing the ordinary way.

I was thinking more of a VM disk image with a headless-distro (TinyCore Linux, for example) all setup and ready to go with all required ports opened for listening. meaning: the user would interface with Ev in the VM from the host system via the virtual network driver of the guest VM. For me the difficoult part would be to setup the IP Tables, firewall, ecc. When it comes to such issues (especially network security) I am a fish out of water.

Maybe a Raspberry Pi virtual machine (QEMU?) would be worth investing time into, since I seem to gather many people consider installing Ev on a R-Pi for serving live it via their internet connection. Surely providing such a disk image (which could mount out-of the box on QEMU and a R-Pi) would attract lot's of people curious to experiment with Muds. Not that we're here to promote anything or to do "propaganda", but the reality is that it took me months of googling to get to Evennia. Googling Mud/Mush  usually leads to many old unmantained websites, dead links, out-of-date software tools, ecc. it took me a great deal of patience to put order in my research and sift the old from the still-alive, ecc. 

Haven't looked at TinyCore Linux, might be worth a try! However, while I hear what you say about making things easy-to-access, there needs to be a minimum amount of programs available if one is to actually develop in the same OS.
That said, I'm the last to dissuade you if you want to try to set up and make available cool Evennia-related toys! Raspberry Pi runs Linux, and installing everything needed for Evennia under Linux tend to be pretty simple. :) Having something pre-installed is of course always nice to lower the entrance threshold for newbies.

Before arriving at Evennia I stumbled in other Python Moo projects, most of them died in beta, others were just intentions and no source code. To say: it's a mess out there for someone (like me) who doesn't come from the Mud world but is approaching it just now. Also, there is an issue with BBBs, Muds, and IF being seen as "old-school" and "things of the past". As a fact, using LambdaMoo today is a bit of a struggle (there are exceptions, like Stunt+Improvise), but overall we are dealing with getting into very old softwares -- and it's hard for those who were not into it at the time they were "fresh").

This is a valid and interesting point. There are a lot of old code bases out there. Many are dead and it can be hard to tell. Whereas Evennia ranks very high (usually first) on search terms of "python mud" it's not nearly as recognized as many of the old codebases if you are not specifically looking for Python or for other types of MU*. And if you ask the existing community of Mudders/Mushers/Muxers/Mooers they will often recommend you use the stuff they are most familiar with (not strange at all). Unfortunately the hard answer here is that more people simply needs to start using Evennia and open games using it before it gains further recognition.
 

Python brings a whole-new relief in this direction, making Evennia a project with a great potential (not only for gaming).

An "Ev on Raspberry-Pi Out-of-The-Box" solution would mean a sure and easy promise to users that they can host their mud server at home!

So fare I've gathered that it's possible to run Ev on Pi... am I right?

People are already running Evennia on Raspberry Pi:s, yes. As said, once you have a Linux distro going, getting Evennia working is not too hard. An Evennia Raspberry image sounds fun, and certainly would make it easy to get a basic Evennia mud going!

 
 
I think that for a consistent Windows solution, the right thing is probably to look closer into how Twisted (which is where Windows has issues since it depends on some compiled parts) generally recommends installs to happen on the Windows platform. 

Definetly! But I might not have the required experience with it to grasp it all.

Tristano 

The preliminary questions I have asked to the Twisted devs suggest easy_install might be a better bet than pip overall on Windows. We'll see if we should change our recommendations. There is also something call pypiwin32 which I was just introduced to; that may be even better for a pip-based install.
.
Griatch
 
Reply all
Reply to author
Forward
0 new messages