The Mud Connector

Recent Posts

Pages: [1] 2 3 ... 10
1
TMC Forum: Posting Policy / TMC Forums
« Last post by Tijer on August 14, 2018, 1:10 PM »
Well the minority got what they wanted.

The TMC Forums are now closing down.

To those who actively participated in decent mud discussion we, the community moderators thank you!

Icculus has decided that its time for the forums to be removed.

Thanks

Tijer
Hades_Kane
Molly
Zandy

2
Off-Topic / Re: My Resignation
« Last post by Tijer on August 14, 2018, 11:07 AM »
Sorry to see this Hades_Kane, but there again i am certainly not suprised.  People have been hounding you for weeks in regards to favouritism that simply is not happening here.

Moderating on TMC has started to become a chore, the general "community" spirit we attempted to try and bring back is long gone.

I'm not sure how we can resolve this, as the "refresh" certainly didnt help!
3
Off-Topic / I am leaving my moderator position too.
« Last post by Molly on August 14, 2018, 10:51 AM »
I have had enough too.

The development in general, and in one specific thread in particular, has left me with such a bad taste in the mouth that I no longer feel that I can uphold a position of responsibility in this community, so I am hereby resigning my post.

It's not an easy step to take. I still have a fondness for text muds and TMC, and I have been a member here for a very long time. Also the main problem here is restricted to a small handful of posters - (I guess you all know who they are) - who through constant bickering, trolling, annoying posting habits, temper tantrums, personal attacks and sheer spite,  together have managed to drag the tone on the Forum to an all time low.

I am all for free speech, but for this too work in a discussion forum, it is necessary that the posters themselves take some kind of responsibility, and check themselves before they hit the send button, even when tempers run high.

Hades_Kane has carried a heavy load, and taken a lot of abuse, being the one who mainly has tried to control the situation, by trying to explain and reason with people who apparently aren't capable of either reasoning or listening. I totally understand that he has had enough, and I feel bad for not having stood up to defend and support him earlier.

To the small minority who caused this situation, I say: "Hope you are happy now".

To the rest of the community I wish good luck.
Hopefully the Forum will survive without moderators, since I understand that the last two of us are also on the verge of leaving too, and I see a definite problem in trying to recruit any successors.
4
Off-Topic / My Resignation
« Last post by Hades_Kane on August 14, 2018, 9:25 AM »
I have no interest in discussing this, this is just a courtesy notification that effective immediately I resign my position as a community manager / moderator at TMC (and anywhere else, MUD related, that I hold a similar position).

I have already notified the other moderators and Icculus, and any board permissions or titles from the position should be removed soon.

I will also be taking an indefinite break from TMC.

Goodbye for now and good luck.
5
Submitted for your approval:

my name is bradley newton haug, my online ‘handle’ in the late 80s/early 90s on muds and irc was morpheus.
I have designed and created the following.

Described here are a number of systems that have been designed,
and are now approaching alpha/code complete that may be of some interest to the lpmud community. 

TL:DR = Apollo is a modernized LPC and runtime. 
Prometheus could be described as a new form of LPMud Server
that smokes anything in existence standing still.  Details below.


The Compiler.
   Apollo is implemented as a lexerless, hand-written, recursive-descent parser built functionally in C++ rather than imperatively, it most cases within reason, if it compiles, it runs, though correctness is up to the programmer. Source is parsed and arranged into an attribute-rich asymmetric syntax tree, which is then used for rigorous semantic checking before emitting bytecode which is then stored in the prototype and consumed by a custom-built virtual machine after an object is cloned.  The compiler is integrated into the prototype class, and is considered part of the runtime with the principle reason and benefit being easy access to the error handler, which collects syntax/parse, as well as semantic, errors and stores them within the prototype object for reporting, logging, or perusal.  Assembly can be dumped from the prototype as well.

   A large test suite has been developed to ensure adherence to design specifications.  When there was choice between compile time over runtime speed, I always choose the former.  The compiler has another code generation path as well, and that is an AST walk to native code via LLVM, taking my virtual machine completely out of the loop.  This can produce from a large complex system a single binary executable that runs with C++ speed, though some of the benefits the bytecode/vm configuration are lost, which makes the native compilation path acceptable mostly for deployment and not necessarily for development. 
   

The Prometheus Server.
   Prometheus is the name given to the Apollo runtime when contained within a server configuration.  Elements of experimental Bell Labs operating systems Plan 9 (from outer space), and Inferno are present in the way the runtime (and thus server) interact with the outside world.  The concept of a ‘file’ while present as such through the lens of a user or programmer exists internally only as a data structure, the main components of which are: a key which represents a ‘filename’ (I call it keyspace), and a body: representing source code.  Possible prometheus configurations, depending on administrator whim, include running from a filesystem, as is traditional for LPMuds, while saving state and object dumps to again, a filesystem.  Other possible configurations include running from a number of key/value database while saving to the same, or to a filesystem, or to both, or syncing to another prometheus installation (or cluster) and requesting prototypes, or objects over the wire.  You can even email it a file.  It may become apparent to some astute readers that prometheus is more than just a mud server.  Most of these options require little more than program options on the command line.  It looks like an LPMud from inside, has a mini unixy dev environment, and soon now, even a pico-like editor.

The Apollo Runtime
   Residing within the prometheus server is the runtime.  Base functionality is provided with a set of system kfuns (a nod to dgd), I chose to use the term because I don’t like the term ‘function’ or ‘efun’. Neither do I use the term ‘lfun’.   All ‘functions’ written in Apollo are known as methods, this is to distinguish system level functionality from prototype/object provided functionality to a beginning user.  Methods.  Kfuns.  The kfun system is easily extendable, and a lookup system is provided whereby on a kfun call, the functionality is (according to configurable options) pulled into a table local to the prototype (and thus all its clones), the first call hits the ‘master’ table, every subsequent call hits the local table.  This has implications beyond just speed.  The runtime is also hybrid, meaning there is a one-to-one toll-free connection from the apollo side to the C++ side.  It is possible to create prototypes not only with Apollo source, but with C++, assuming certain classes have been inherited and certain rules followed (which can be checked at compile-time).  This allows for a C++ side prototype to be inherited by an Apollo-side prototype and vice-versa, with everything just working.  Both apollo-side and C++-side are equal in the eyes of the runtime.  Pick your poison.

 The Server.
   Prometheus is the name given to the runtime when configured as a standalone server.  This is not a requirement for using Apollo, as the components compromising prometheus are available as a static library for inclusion in anything that greases easily with the C/C++ world.  As I mention below, the Apollo language and runtime can do more than just act like a hot rodded LPMud, and while purveyors of the ‘mudspace’ may not care, I am certain they/you/whomever will enjoy the functionality provided as a consequence of being part of a larger family of components.

Theory
   These components taken with others not mentioned, are part of a platform called Mythoi.  Whose chief design goal was to create a configurably jailed and optionally secure (and again, optionally) fully deterministic runtime for a language with features capable of running within a jailed micro-operating system for the purposes of creating complex agent-based AI and numeric analysis systems collaboratively.  The entire platform is a concrete representation of my work in cognitive science and mathematics, whose scope is beyond this document.  TL;DR = it also makes one hell of a mud server.


License
   The entire mythoi platform contains no GPL code, nor any code under private agreement such as tenure or employment, and has been written in its entirely from scratch.  It requires only the clang and boost runtimes.   It is not ported (though I’ll mention something regarding one of my needs and requests from the community at the end of this) from anything.  Concepts have been borrowed from not only several LPMud servers, but from experimental language, runtime, and operating system corporate and academic projects, but never code.  The compiler and runtime and server will be made available for non-commercial use, an ‘indie’ level license will be offered for commercial, but not corporate level, use with a generous ceiling not unlike the way unreal engine licensing has been structured, though not required as much of a percentage.  Corporate and institution level licensing will be available with negotiated terms. 


Some preliminary information:


Note: most of everything here is already approaching alpha, though some elements are
subject to change.


Types

void
   void is a placeholder for a lack of type.  Used in methods with no return value. 
   There is nothing like void casting in Apollo, nor is there any dynamic checking anywhere.


bool
   can hold the value true or false, and is more than just a typedef or define. 

int
   int is backed by either a 64 bit integer, or an integer not unlike python’s, One is
   small and fast, the other can contain as large as numbers as you have
         memory for. 

real
   Real is our floating float number, again, backed by a double, or a scientifically useful
      and accurate representation that is slower.  Both of these types are one or the
       other, chosen at compile-time, invisible in their backrground use, though objects
   accessing data written with higher precision will lose that precision because it’s not magic. 
   It’s not a great idea to switch this around.  Speed/memory or science, pick one.

string
   string is backed by std::string, with most functionality and handling exposed.


mapping
   Mapping behaves at least exactly as per LPC with additional functionality, but never
   falling below the expectations of a programmer familiar with LPC.  If an Apollo mapping
   fails to function as an LPC mapping would, I want to know about it.  Borrows some          
   concepts from NSDictionary as well.

object
      as in LPC, object is a reference to a cloned prototype.

list
    List exists to facilitate functional programming elements within an otherwise imperative           
   language, lists can also be thought of as tuples, or as sequences, immutable, with the          
   runtime offering ways to iterate generically.  Lists can hold disparate elements of any    
   Apollo type.  Notably missing is TCO or lazy eval, if you want that, go use haskell.  This          
   is Apollo.

array
   This is the homogenous container to the heterogeneous list.  They are typed, and can          
   only contain elements of the declared type.  They are backed with a std::vector and          
   stored    sequentially in memory for speed.  Most of the kfuns dealing with lists can be          
   fed an array, but you will get a list back.
   
node
   this type is used for graphs and trees.

I have a function pointer type, but I’m not sold on specific yet, there are many ways to do
lambdas and closures and I’m waiting until I have some time to test before making a decision.
Right now it's like LDMUD's.


Pseudo-types

auto
   a declarative way to ask for type deduction.  Works as modern C++ does.

variant
   This is like the LPC ‘mixed’ type, but is really (like auto) only a semantic hint as Apollo          
   uses a fully deducing type system.  This is a duck type within a otherwise strongly           
   typed system. 

dice
   this is an odd bird designed to fulfill the role of access to quick and easy randomness          
   without participating in what many beginning programmers consider an obtuse dance           
   with modulo and casting and demon sacrifices   It can be used any place an int literal is    
   used, as an expression.  It contains a (small) positionally significant postfix              
   mini-language used as follows: k for keep, d for drop, h for high, l for low, v for value.       

   So, 3d6 works exactly as one would expect, it acts as an int literal that evaluates to
   the result of 3 six-sided dice.  Postfix operators are as mentioned, so 4d6DL1 means
   roll 4 6 siders and drop the lowest 1.  12d6kv3 means roll 12 6s and evaluate to
   the number of 3s rolled.  Takes me about 5 minutes to add more, so ideas are welcome.

   related is the dice switch language construct which is like a combination of dice and          
   and a switch/case statement, which I included because of the value of having a             
   combination switch case and random selector.  Used as follows: 
   dice a = 1d6{ x, x, x, x, x, x};   where x can be any expression, evaluating to any Apollo          
'   type, and it does not have to be the same.     This may seem like an odd use case to          
   include directly into a language, but randomly selecting a value from a table, is such
   a common practice I wanted it available to beginners.  It is not syntactic sugar either,
   it is a statement.


Dice types
   d2,d4,d6,d8,d10,d12,d20,d30, and d100 are, as one would expect, dice types known to
   the compiler. 


Type Modifiers

   const  <— worth mentioning, that yes, there is a const type modifier.
   array - this is how we declare an array, as a typemod against a type,
      so, array int a = ({1,2,3,4,5}); optionally, array<int>
      
   nosave - do not save
   public
   private
   protected - all 3 of these are for inherence exposure and control
   final - as in java
   
preprocessor

typedef - called typedef, but works more like a C++ alias.
import - for pulling in sets of kfuns
Inherit - as in LPC
define works as in C/C++

comments are // and /* */

pragmas - prototype level source hints to the compiler and runtime

   daemon     clone only once.
   nosave      on the prototype level
   secure      no use for MUDS, for other configs
   deterministic   of no use for MUDS
 


Mythoi has been in private design and development for over 25 years (with a heavy push the last couple years), right now it looks like I’ll have a release (of at least some parts) before the end of the year, but it comes out when it’s done.   I will mention here also that console/text is a development phase, one of many, that I will be hitting over the next 2 years.  It is already possible to create z-machine, infocom type games, as well as roguelikes, with mythoi, and I’m not stopping there, mythoi has many phases in the pipe. I should also mention we’ll be hiring early next year. 


if you are a mudlib developer, and are used to hiding from creators begging for your expertise, I could use some advice on kfuns, i.e. what to expose, what you need.  What you’d like to see in a driver.  Prometheus is almost there as barebones, that’s why I’m taking the time to write this instead of working.  I have this idea to take the Dead Souls public domain release and port it, but I kind of want something more barebones, like what was that.. melville?  I don’t remember.

or maybe something completely new, who knows?  Or maybe someone has a mudlib I can use, or they want to port to a shiny new server..

any comments, questions, concerns,
and or flames may be directed to me at bradleyhaug@gmail.com 

please include LPMUD in the subject, so I won’t miss it,
also be sure to mark flame mail with *#@&^&^$ so I can delete it without reading it.

I look forward to hearing from you.

best regards
bnh (morpheus)

PS Reese/Descartes, if you're out there, this is the system we discussed a few decades ago.  It's almost done.

6
Mud Promotions / Welcome to PernWorld Mush!
« Last post by Carrick on August 13, 2018, 11:46 PM »
We are a MUSH community based on the Dragonriders of Pern series created by Anne McCaffrey. Players create and play characters within the theme where dragons and technology mesh together for an experience unlike any other. Currently we have five PC Weyrs (Fort, Half Moon Bay, Xanadu, Igen, and Monaco Bay), one PC Weyrhold (Ierne), one PC Hold (Stonehaven), and a variety of crafting areas in which you can play and develop your character. While some locations are ‘off camera’ they do still exist and others which occasionally host a clutch but are not generally considered PC.

If you’re interested in joining us, please feel free to have a look around our wiki at http://pernworld.wikidot.com/theme to give you some idea as to what each has to offer. If you have any questions, feel free to connect to the game where our helpful staff can answer them to the best of their ability even if you know nothing about the theme. Our player base is a mix of new and veteran players, and we welcome anyone who’s interested in interactive storytelling.

Current Events: Monaco Bay Weyr at PernWorld Mush will be in OOC Search starting August 18th and will be accepting applications until September 1st, 2018! Their wiki can be found at http://monacobayweyr.wikidot.com/

PernWorld Mush is rated PG13~

Join us at paper.mudmagic.com port 2211 and visit our wiki at http://pernworld.wikidot.com

Again, welcome to PernWorld and we look forward to seeing you on the game!
7
General Discussion / What was your first MUD?
« Last post by Delphine on August 13, 2018, 9:08 PM »
I thought it might be nice to have something a bit more lighthearted to read (other than the thread-which-shall-not-be-named) and this was the only thing I could really think to ask the community at large.

My first MUD was Alter Aeon back in... I think it was 2006 or 2005. Either way, I know I was still in high school! But I was a bit late to learn about MUDs as I had been fixated on play-by-post forum RPGs for a long time before that (since I was 11 years old, actually... super nerd alert). I honestly can't remember how I even stumbled across Alter Aeon or even learned that MUDs were a thing... but oh well! I've preferred MUDs to forum games ever since!

What was your first MUD? :)
8
Mud Promotions / Re: Imperium
« Last post by daedalus32 on August 13, 2018, 12:29 PM »
We also have a facebook group where a lot of runs are organized, players like to share funny comments, and old players get back in touch.
https://www.facebook.com/groups/410427532657467/?ref=bookmarks
9
MUD Hosting and Services / MUDListings.com
« Last post by Gicker on August 12, 2018, 4:26 PM »
Hi all,

Just wanted to send out a reminder / notice about our recent-ish launch of MUDListings.com.

As it's name implies, the site is based around listing MUDs and information about it.  The listings have a large number of fields, near all of them optional, as well as including media such as screenshots, logos, even videos.  There is the ability to search and list MUDs by a great number of fields.  For example, only Forgotten Realms themed MUDs, or screen reader friendly ones, or ones with a certain player base (note we don't enforce the correctness of these fields).  It also has an excellent review system, with the ability to rate MUDs on various fields in addition to leaving a comment.  Reviews can be commented on as well as voted as useful or not by readers.

Perhaps our most universally useful feature is the multi-forum aggregator.  This pulls recent posts from several major MUD sites, including MUDConnect.com, TopMudSites.com, MUDListings.com, MUDPortal.com and Reddit /r/MUD/.  Unfortunately it does not list MUDBytes.net as of now due to their custom forum software (best would be an RSS feed if anyone there is looking :) ).  You can see an abridged listing on the web site home page, and the full feed here: https://mudlistings.com/resources/community/multi-forums-feed

We also have an events calendar that displays on the front page as well, so prospective players can see what's going on on your MUD. There is a chat bar to chat with fellow MUDders, a file hosting section, and other nice goodies as well. Future plans include adding MUDStats.com type functionality.

If you're a MUD owner, go on and list your site with us.  You may need to claim the listing, as I manually added the top 200 MUDs on TMC at the time when I was building the site.  if you're a player, hop on and review your favorite MUD(s).

The service is completely free of charge.  We also offer complimentary banner ads as well.

Check us out at http://mudlistings.com/

Hope to see you soon!

Gicker
10
Mud Promotions / Come Join Us on Gates of Krynn
« Last post by Gicker on August 12, 2018, 2:56 PM »
Gates of Krynn is the spiritual successor to the still-online, Dragonlance MUD, Age of Dragons.

The game is set after the end of the War of the Lance, during what is commonly termed 'the 4th age'. The Knights of Solamnia and Forces of Whitestone defeated the Dragonarmies of Takhisis with the instrumental assistance of the heroes of the lance. Things are far from peaceful, but the grip of fear throughout Ansalon has ended for most.

In this new era, adventurers are aplenty. The dangers of the land differ from locale to locale, and skirmishes most often occur between small groups as opposed to large armies. The potential for wealth and fame is abound for adventurers in this era. At the same time, while routed, the dragonarmies are not destroyed. In addition, new and dark forces are arising, and the Knights of Solamnia and the Forces of Whitestone cannot sit on their heels and wait. They continue to remain active and recruiting; as do their adversaries, known and otherwise.

Our game is still being developed.  Our code is a modified version of CoffeeMUD.  The feature set is impressive, and world-wise, we have developed the Palanthas area and much of Solamnia.  In total about 4,000 rooms of playable zones, out of 11,000 total.  The remainder is explorable, but there are no mobs or objs.  We have also disabled the hunger, thirst, allergy and addiction systems, as well as allowing fatigue to heal without requiring sleep.

Please browse a few of our features:
Achievement system
Deity system
Marriage, mating, pregnancy
Exp for role playing
Broad and deep crafting system
Dueling system
Mounts
Auction House
Random Treasure Drops
Clans with multiple clan heirarchy setups
Multi layered equipment system (shirt under vest under breastplate for example)
91 levels with 44 classes and 18 races.
Player housing with ability for players to build and describe extra rooms without staff interaction.
Post office with the ability to mail items
Banks with item storage
Automap
1,000+ skills, spells, abilities and expertises

Please check out our web site for more information: http://www.gatesofkrynn.com/, our MUDListings.com listing (https://mudlistings.com/general-and-hybrid-muds/10-gates-of-krynn) or log on at gatesofkrynn.com port 4500.
Pages: [1] 2 3 ... 10