Author Topic: Recompile DS for Windows to overcome the limitations listed in the FAQ?  (Read 4650 times)

Offline DarkRider

  • Acquaintance
  • *
  • Posts: 6
    • View Profile
Has anyone ever tried this, done this, improved on the status of these limitations?

I'm talking about the limitations listed here: " I heard that Dead Souls for Windows has limitations" here: http://dead-souls.net/ds-admin-faq.html#137 And the "Migrating from Windows to UNIX fails horribly" from here: http://dead-souls.net/ds-inst-faq.html#6a

I'll quote them here respectively for quick reference.

" Nowadays, Windows systems are quite robust and
perfectly capable of handling even enterprise-level
server apps. Today is seems *weird* that it's so hard
to find a mud server that runs natively on Windows.
To me it seemed natural to try to spread the goodness
that is Dead Souls by making it easy to run on Windows.
You will now find in the standard Dead Souls download
an executable for Windows...and it's actually *easier*
to install and run DS on Windows now than on unix.
Go figure.

However, the executable is compiled from unix source
that heavily favors the unix way of doing business,
and this is sadly not always compatible with Windows.
As a result, Dead Souls on Windows has the following
limitations:

* DS on Windows will not accept more than 64 simultaneous
network connections, meaning you are limited in the number
of players you can have logged on at once.

* DS file operations are dramatically slower on Windows.
This causes performance in general to be weaker in
comparison to the unix version, and it is the reason
that some file-intensive operations, such as file
indexing, are disabled in the Windows version.

* DS CPU time is measured in a way that Windows doesn't
understand, meaning that operations that under unix DS would
get cancelled for being too CPU-greedy are allowed to
run indefinitely in Windows DS. This means it is trivial
to "lock up" a DS Windows mud by accident, forcing you
to kill the process and restart.

There are probably a few other limitations, but these
three illustrate why Dead Souls on Windows is meant to be
used for testing, development, and evaluating, not for a
production mud. Your production DS mud (aka mud that is open
for players and has players logged on) should run on a
normal unix/Linux host.

Note that if you use Cygwin to compile your own Windows
executable, you *might* get around some of this stuff...
but I don't support Cygwin so I can't vouch for it. "

And,

" Migrating from Windows to UNIX fails horribly

The main problem you're likely running into is that Windows and UNIX handle text files differently. In particular, object persistence files (.o files) saved under Windows may have additional characters that the UNIX driver won't tolerate.  The  UNIX command "dos2unix" might help...or it might not. You might need to use the .o files from the default distribution (sadly losing whatever was in your old ones).

It may also be that your Windows driver is much older than the driver for the UNIX version you're migrating to. It might be a good idea to hunt down the source code for the specific lib release you're using (for example, 2.1.1) and compile that for your driver.

The short and sad answer is that such a migration can go wrong in so many ways that it's beyond the scope of help this document, or I as maintainer, can provide. "

Thank you.

Offline cratylus

  • Your favorite and best
  • Administrator
  • ***
  • Posts: 1022
  • Cratylus@Dead Souls <ds> np
    • View Profile
    • About Cratylus
I think just linking to the FAQ would have been enough.

In any case, though i haven't tried recently, compiling Fluff under Cygwin shouldn't be particularly hard.

The missing part isn't compiling Fluff. The missing part is making code changes to the FluffOS driver so that the limitations described under Windows are not an issue.

For all I know it isn't especially hard, I just never heard of anyone able to do it who cared enough to make it happen. Since production/open MUD's typically don't run on Windows hosts anyway, I think it just hasn't seemed worth the effort.

-Crat

Offline DarkRider

  • Acquaintance
  • *
  • Posts: 6
    • View Profile
Thanks Cratylus. I didn't expect you specifically to answer because you've already indicated you don't support using Cygwin for this. I understand it's because that's not your area of expertise. I also understood it's not mine either because it does involve using C to edit Fluff drivers and possibly other libraries.

I know you've seen my other post on TMC. I was hoping after I learned enough LPC I could learn C and thus be able to make those changes myself if no one else had already done it. I did have to check though, so I asked.

I think I made a good argument to stick with Linux if even in a VM, at least until these issues get addressed, if ever. I would also like to know from folks who have tried running the Mud from Windows how often these limiting issues come up. How often does the system crash by locking up due to excess CPU usage? If this isn't really a problem on today's faster CPU's perhaps it would work if the mud owner was diligent with frequent backups. I understand that mud would still be subject to only having 64 connections max.




Offline Shem (aka MadScientist)

  • Pottymouth
  • *
  • Posts: 33
  • Are We not MUD?
    • View Profile
    • MUD(R): Are We Not MUD?!? (D.R.A&.G.O.N) Project:
I think 64 connections MAX is the least of our worries, at the current state of the MUD community.  ;)
(The File System speed/content seem to be much more significant, to me.)
 
However, I only plan to use Windows, or likely *nix virtual boxes running within Win7, for very specific testing scenarios so I personally don't plan to tackle the root issues myself.  My C is rusty; too much saltwater and greybeards I think.
 
 
Shem R-MUD-1 & 2
X-Admin Rhovania (1993-1995)
D.R.A&.G.O.N. Writer

Offline cratylus

  • Your favorite and best
  • Administrator
  • ***
  • Posts: 1022
  • Cratylus@Dead Souls <ds> np
    • View Profile
    • About Cratylus
I think that the bottom line for me is the likelihood of someone running a no-foolin, open for business MUD on FluffOS on Windows.

Whether it's Windows or unix, 99% of new FluffOS adopters are just learning/goofing around.

And I strongly suspect that the proportion of learners/goof offers is even higher than that on Windows. Why? Windows VPN are a ludicrous value proposition, they are not as commonly used as Linux, and especially not for muds. As far as running your mud from your basement, well maybe this makes me a fuddy duddy, but in my muttonchopped and monocled opinion, running your mud from your house makes it the opposite of a no-foolin, open for business mud.

There's nothing wrong with running your mud from your house, any more than there is anything wrong with running a half life server from your house. But a platform that is subject to someone's mom grounding them isn't what I'm targeting when working on DS.

If you can paint for me a realistic picture of a world where I'm preventing people from opening Windows muds because DS is not optimized, that's one thing.

If you're obsessing over a few suboptimal limitations in the Windows version of FluffOS but they haven't actually impacted you in any practical way, then I really have to question why I've had to spend so much time addressing the distraction.

-Crat

Offline DarkRider

  • Acquaintance
  • *
  • Posts: 6
    • View Profile
There's nothing wrong with running your mud from your house, any more than there is anything wrong with running a half life server from your house. But a platform that is subject to someone's mom grounding them isn't what I'm targeting when working on DS.

If you can paint for me a realistic picture of a world where I'm preventing people from opening Windows muds because DS is not optimized, that's one thing.

If you're obsessing over a few suboptimal limitations in the Windows version of FluffOS but they haven't actually impacted you in any practical way, then I really have to question why I've had to spend so much time addressing the distraction.

-Crat

Who's to say 30, 40 and 50 year old adults wouldn't run the mud from those home windows servers - in a serious way. (My mom's not interested in grounding me. Not since I turned 18, 26 years ago. LOL)  I plan to run from a home server but just to start off. Then graduate to a free host, then a paid host. I think it's the smart way to do things instead of dumping money into a ship that might sink. Gotta see how well it floats before I really open her up. Just doing some fact finding is all.

I obsess yes, because I want to know what I'm getting into before I run into problems. I don't need any unforeseen problems I can't find a way to fix. Perhaps other people don't sweat the small stuff but not me. I've seen mole hills become mountains. You spend time addressing this because you choose to. I didn't expect you to answer these issues as stated above, but I appreciate you taking the time to do it of your own volition.

Offline cratylus

  • Your favorite and best
  • Administrator
  • ***
  • Posts: 1022
  • Cratylus@Dead Souls <ds> np
    • View Profile
    • About Cratylus
In any case I appreciate your grace in handling my adverse opinion. I'm pleased we've differed while remaining civil.

Do understand that if sometimes it seems like I'm saying a thing that sounds like I'm not talking to something you said, I may be making statements I feel are important for the general public to read for context, etc. Being the maintainer, my responses sometimes have to take into account the possibility of casual readers getting the wrong implication.

-Crat

Offline DarkRider

  • Acquaintance
  • *
  • Posts: 6
    • View Profile
In any case I appreciate your grace in handling my adverse opinion. I'm pleased we've differed while remaining civil.

Do understand that if sometimes it seems like I'm saying a thing that sounds like I'm not talking to something you said, I may be making statements I feel are important for the general public to read for context, etc. Being the maintainer, my responses sometimes have to take into account the possibility of casual readers getting the wrong implication.

-Crat

I probably made a bad start to my argument on the other forum myself. I just wrote a reply that hopefully sets the record straight, or at least fairly crooked. We can't all be great communicators like Ronald Reagan. Heck, I'd even settle for Poe. (the writer, not the singer) I don't think we differ so much as are just not understanding each others point of view in the way we would like each other to see it.

To put it another way, Dude. I don't wanna have problems with you, heck your like The Guy who for once actually made me want to learn a scripting and then a programming language. I know I have a long road ahead if I'm gonna stick with this. I'll probably hit you and the other guys up in Intermud Chat from time to time for a quick answer. Sure I am opinionated but we all are. I know you feel you want to make sure no one misconstrues what you've written about DS. I can't blame you, your proud of the work you've done on it and should be. I would do the same.

~~~~~~~~

BTW folks. I know you don't know what I'm talking about concerning this other forum conversation but  Cratylus gave me a great answer on dealing with the DS on Windows limitations, I thought would be proper if I shared here.

 Cratylus said, "The three limitations I described in Windows DS are actually not that big a problem unless your mud is going to be the size of Discworld. In reality, you're not very likely to have 63+ players on simultaneously. In reality, you can have a separate dev and prod mud to mitigate lockups. In reality, disk performance isn't much of an issue if you are careful. They're just not that big a deal."

This should help alleviate some fears or concerns paranoid people like me have about using DS in Windows.

Offline quixadhal

  • BFF
  • ***
  • Posts: 642
    • View Profile
    • WileyMUD
IMHO, if you *really* want to run a production MUD in Windows, you need to do the annoying legwork of getting rid of Cygwin, and making FluffOS compile and run natively in Visual Studio.  Windows programmers are used to the windows development enviornment, and doing so would likely result in some serious debugging and improvements, as opposed to using cygwin as a crutch to just get it working.

It can be done.  DGD comes with the project files needed (as well as the windows implementations of socket mechanisms, signal handling, and all that good stuff) to compile and run under VS2010.  It's not a fun or easy project though, and likely only someone familiar with both Unix AND Windows would try to do it.

Offline Shem (aka MadScientist)

  • Pottymouth
  • *
  • Posts: 33
  • Are We not MUD?
    • View Profile
    • MUD(R): Are We Not MUD?!? (D.R.A&.G.O.N) Project:

Who's to say 30, 40 and 50 year old adults wouldn't run the mud from those home windows servers - in a serious way. (My mom's not interested in grounding me. Not since I turned 18, 26 years ago. LOL)
[... *snip* ...]

I obsess yes, because I want to know what I'm getting into before I run into problems. I don't need any unforeseen problems I can't find a way to fix. Perhaps other people don't sweat the small stuff but not me. I've seen mole hills become mountains.
[... *snip* ...]
Welcome to the Forum!  (I'm glad to see I'm not the only new[/old?]blood around here.)  I'm also happy to see another 'Look before I Leap' type.  However, I do question why platform is your first voiced concern.  Almost any old box laying around can be setup to run Linux/etc for free with Linux Mint (or pick your favorite distro).  (In Portland they GIVE away boxes powerful enough to run MUDs on all the time, for example.  Almost any corporate waterfall program from an IT Dept would have a similarly powerful set of hardware.)
 
Why wouldn't you want your MUD running on a dedicated *nix server anyway? 
Shem R-MUD-1 & 2
X-Admin Rhovania (1993-1995)
D.R.A&.G.O.N. Writer

Offline DarkRider

  • Acquaintance
  • *
  • Posts: 6
    • View Profile

Welcome to the Forum!  (I'm glad to see I'm not the only new[/old?]blood around here.)  I'm also happy to see another 'Look before I Leap' type.  However, I do question why platform is your first voiced concern.  Almost any old box laying around can be setup to run Linux/etc for free with Linux Mint (or pick your favorite distro).  (In Portland they GIVE away boxes powerful enough to run MUDs on all the time, for example.  Almost any corporate waterfall program from an IT Dept would have a similarly powerful set of hardware.)
 
Why wouldn't you want your MUD running on a dedicated *nix server anyway?

Platform is only a concern for me because I don't have an extra computer to use to dedicate to a Mud at the moment.  I'm a windows user mainly. I do have separate partitions with other systems, a few versions of Linux and PC-BSD which I like better than most Linux distros cept it's a ram hog so I don't use it much. I like DS a lot and am committed to learning it and C if I have to but it's not for everyone.

I don't know of anyone giving away PCs around here.. I'll look into it though.

It is true since I'm a long time Zork lover (I have over 2 gigabytes of text based games backed up) I'd like to see more Muds made to run on Windows. I don't often hear Mud admins speak of muds in the same vein as Interactive Fiction but that's all a Mud is, Interactive Fiction aka a text based game, with multiplayer support. I'd like to see more Windows users creating Muds so they can become good IF writers. It's all about the story with me, not just how far you can push the Mud engine.

Nothing wrong with running on a dedicated Nix server if that what you need to do. I just think everyone should have more options to choose from. At least using the DS windows binary is one such option as is running a RPGCore DB under WinMoo. Running a Nix server or getting hosting on one isn't for everyone (people don't want to learn Linux, or a programming language) . I believe there should be more options because the Mud is the best of both worlds, combining good interaction fiction writing and having your world accessible to all in a multi player environment. More people should be exposed to this to open up their creative side - but those subjects are off the scope of this thread.

Offline chaos

  • BFF
  • ***
  • Posts: 291
  • Job, school, social life, sleep. Pick 2.5.
    • View Profile
    • Lost Souls
It is true since I'm a long time Zork lover (I have over 2 gigabytes of text based games backed up) I'd like to see more Muds made to run on Windows. I don't often hear Mud admins speak of muds in the same vein as Interactive Fiction but that's all a Mud is, Interactive Fiction aka a text based game, with multiplayer support.

Right, in the exact same sense that World of Warcraft is just King's Quest with multiplayer support.

Offline DarkRider

  • Acquaintance
  • *
  • Posts: 6
    • View Profile
Right, in the exact same sense that World of Warcraft is just King's Quest with multiplayer support.

Your not taking my meaning. Sure coding the mud allows for more complicated interaction between users in the game but my point was that the level of story crafting that makes a really good game just isn't there from a fiction writing point of view. Some Muds pull it off better than others. Some don't even try. Just today someone said to me they let a tool auto generate the Mud world and descriptions so they can concentrate on the programming. I find that personally appalling. Where's the fiction entertainment in that? Granted, this person has a Mud that's described as a room-less world with manual combat. I suppose some people like that as much as many people play online multi player games for mindless frag fests - just shooting and no story. To me a Mud should be way more than that, most of the entertainment coming from how well the story is told. The interaction with the NPC's and the other players are just an enhancement to the telling of the story.. they are there to help move the story along.

Offline chaos

  • BFF
  • ***
  • Posts: 291
  • Job, school, social life, sleep. Pick 2.5.
    • View Profile
    • Lost Souls
Your not taking my meaning.

Well, y'know, likewise.  My point is that the fact that you look at MUD and see multiplayer Zork doesn't mean that's what MUDs are.  You say "some don't even try" like that's a failing, but it's an indication that the space is broader than you're prepared to recognize.  You look at a MUD that "isn't even trying" at IF and see a MUD that is doing IF poorly, where the MUD's authors are probably doing something other than IF.

I, for example, am profoundly uninterested in doing anything recognizable as traditional IF in a MUD.  I do not want to prepare run-on-rails "stories" for my players and run everybody through the same repeated plotlines as if that somehow made sense.  Contrariwise, I want to build dynamic systems that create story values as an emergent property.

More generally, to look at MUD1 and Genesis and Genocide and Armageddon and Nightmare and Diversity University and Toril and Costello and LambdaMOO and Island of Kesmai and DartMUD and PangaeaMud and Shattered World and then say MUDs are "just" anything seems absurdly reductionist to me.

Offline Shem (aka MadScientist)

  • Pottymouth
  • *
  • Posts: 33
  • Are We not MUD?
    • View Profile
    • MUD(R): Are We Not MUD?!? (D.R.A&.G.O.N) Project:
Re: Recompile DS for Windows to overcome the limitations listed in the FAQ?
« Reply #14 on: August 02, 2012, 01:27:27 am »
Broken down more simply, a MUD is merely a Game Platform.  LP MUDs have an architecture that supports more flexibility and interaction at the code layer, run time, than many others.  This is why so many CompSci folks get fascinated with them.  Those who RP, are interested in complex systems/languages, and love Hobbies that allow them to tinker without deadline stress.  I"m guessing I just described 80% of the MUD Admins.
 
Some MUDs are focused on Storytelling, as a subset of the Games that are created via MUD Platforms.  Those stories can be Live Events (ie Virtual LARPing / VTT); or, more often, they can be scripted repeatable quests.  Many LP MUDs require Questing to actually level; vs just mindless slaying of another million Mobs.  However, there are always a million more (interesting?) things to code than another 100 rooms for a small area; so many MUDs consider storytelling & building a Final Phase type of setup.  Somewhere between coding the game mechanics, and writing the documentation.  ;)
 
I look across history (cultural studies, mythology, theology, psychology, education) and see almost non stop storytelling.  We are constantly seeking new stories, and sharing the ones we've dreamed up.  Homo Sapiens are social storytelling Beings.  This is why I think DRAGON (Dimensional Roleplaying & Gaming Online Network) is such an important project.  We have shifted from individual PC game stories, to multiplayer story environments; but we have only solved half of the equation.
 
So far, online gaming (i.e. MMORPGS) are focused on mass producing a Story-as-a-Product to sell to Millions of Players; I'm interested in building a platform that helps a Million People tell their own Stories.  (1:Many ==> Many:Many, Many:n, or even Many:1)  I think this is a universal Need of our race; and that MUDs are a good way to do it.
 
When I ran Rhovania, a very long time ago; I noticed that the Builders/Coders that were from a CS background were NOT really that interested in creating stories; whereas some of the Players I had were VERY Interested in creating Stories, but didn't know how to program, and weren't willing to learn.  I ended up with 'less than optimal' quests/areas, and disappointed Players because the CS folks seemed to ignore the story to focus on the more interesting problems (the code itself).  We did an experiment.  We wrote some custom tools to allow English Majors (with ZERO programming background) to create areas; similar to what Cratylus has done in DS.  A few writers interested in storytelling, plus a dedicated Coder support them on the LPC layer were able to outperform the whole rest of my staff combined; with high quality too.
 
This is one of the major goals I've had for the D.R.A.G.O.N. MUD platform for a very long time.  I want people who passionately care about storytelling to be able to tell their stories (live, or scripted) as easily as possible without NEEDing to learn to program LPC/C/etc.  I want programmers to be able to focus on interesting code problems without having to focus on story.  And some, like me, will do both.  This is a dream I've had for almost twenty years; and its a BIG project.  I can't do it overnight; but, I've started.
 
So, you are exactly the type of person I want feedback from.  As a IF focused MUD Admin, please answer these questions:
  • Would you be willing to learn a HLL (High Level Language) that was focused on your area of interested (IF), such as INFORM, TADs, ADRIFT, HUGO, etc) in order to create your story in a MUD environment?
  • Are you more interested in Scripted Stories (like Zork), or Live Events (Virtual TableTop Gaming)?
  • Are there 3rd party Tools you want to use to build your stories?  (ProFantasy CC3, TableMaster,
  • What does your BlueSky Interactive Fiction Toolbox look like?  (... dream Big ... )

/* Cratylus, will you move this to High Level Design if it gets answered/spawns thread? */
 
Shem R-MUD-1 & 2
X-Admin Rhovania (1993-1995)
D.R.A&.G.O.N. Writer