Hello Everyone. I have been Mudding for about 11 years in some form or another, and have been an Immortal for nearly as long. I have been a builder, and recently had coded new skills and abilities for my current MUD. However, things seem to have stagnated greatly, and now myself and a few dedicated people are toying with the idea to create our own MUD. I have a codebase, and the idea for it firmly entrenched in our minds, as well as setting, systems, etc.
Now to the point.
I am a newbie as far as actually getting the MUD up on a server and running. I have an online server ready to go, but the problem is that I do not know what is required as far as uploading and the like.
If anyone has a suggestion, or can direct me to where I might do more research on the actual setup of the MUD, I would be greatly appreciative.
My apologies for not being a bit clearer, it was rather late and I was a bit tired.
The codebase that I am using is a Merc 2.1 base. I will look again for any readme or other files as you suggest, as that completely slipped my mind to look for those, thanks.
I am aware of the actual writing, compiling, and making of the code once I am set up on the server (or the specifics thereof for the particular MUD I had shell access for). The problem lies in that I have not undergone the setting up of a MUD, as far as uploading the files. I was under the impression that what would be needed is to basically FTP the files in, and from there, run the mud's startup using ./startup (making certain the correct area files are in the area list, of course)
My question is more along the lines of is there anything that I must change or edit within the files itself to reflect which port I am on, or to reflect which server in general that I am being hosted upon.
Once again, I am sorry if this is a newbie question, but unfortunately this part of running a MUD was not covered in my experience. Thanks again.
P.S. Thanks Hanaisse, for the link. I looked it over, and while it isn't the same codebase, it certainly is useful for helping to understand. Much appreciated.
I am aware of the actual writing, compiling, and making of the code once I am set up on the server (or the specifics thereof for the particular MUD I had shell access for). The problem lies in that I have not undergone the setting up of a MUD, as far as uploading the files. I was under the impression that what would be needed is to basically FTP the files in, and from there, run the mud's startup using ./startup (making certain the correct area files are in the area list, of course)
That is roughly correct. You would FTP the files to the server, then probably compile them as described in the link, and then run the startup file. Inside that is likely to be the port number it will listen on.
You would probably edit the files in the MUD's system directory (or whatever is is under Merc) and change things like the MUD's name. You may also want to edit the help files (eg. help.are) and change stuff like the initial banner people see when they connect.
You may find it easier to use SmaugFUSS - which is being actively maintained - as that has online editing, and various bug fixes incorporated.
Many thanks once again Nick. Once I get everything set up for the server, I shall upload the files and see where it goes. On one hand I am glad it is not much more complicated than that (define complicated in terms of code? *chuckle*) and I should hopefully have a skeleton going soon.
I will be certain to finish my editing of things like the help files and certain aspects that refer to the MUD by name. I will keep SmaugFUSS in mind as a codebase. I tried a Smaug-based MUD a few years ago, but I believe my mindset is too entrenched in Merc. I know my way around this codebase, so I think I will try to see where I can go with this one first. However, I am definitely going to take a look at SmaugFUSS regardless. Who knows, I might be converted ;)
Anyway, once again many thanks Nick. I am glad I happened across this site (too bad it took me 10 years), and I hope to be able to help someone the same as you guys and gals do. I am sure I will have more questions to pose, and hope I don't become too much of a nuisance. Thanks!
Hello once again. My apologies for being dormant for a few weeks, a lot of things have transpired. I have gone over many of the things suggested so far in this thread, and have actually decided to try my hand at the SmaugFuss codebase, as mentioned. I have finally gotten it uploaded to my web server, and the files ready to go. I read through the readme file, changed the port to 3000 (which is the one I am allocated) and then tried the startup script. I am getting an error:
***** nohup: appending output to 'nohup.out'
nohup: cannot run command './startup': Permission denied
Anyone have any thoughts as to where I might look to resolve this?
Alrighty, I looked up the chmod but unfortunately, I am still very new at running this and using commands from the shell. I checked the help file on chmod, but only understand a little of it. What part would I need to do to change the permissions of the startup file? Nothing on there looked even remotely close to permissions (to my untrained eye). Any pointers as to where I should look specifically for this? If anyone can give a quick explanation of what the permissions 'are', then maybe that can lead me down the right track? Yes, the semi-newbie strikes again.
Thank you Zeno. Good bit of info on that link. Just to make sure I'm getting this right though.
chmod u+x startup
Would that take the 'startup' file and allow the owner (me, 'u') to have permission to access and run the file?
If so, in order to have a secondary person able to access and run the startup script, would I have to use 'g' and then define my own -group- somewhere? I thought about using just:
chmod a+x startup
but I suppose that is a bit more of a security issue if all can access it, but then again only myself and one other has access to the shell.
Once again, thanks for the help and the link Zeno. If I am interpreting the chmod incorrectly, though, please feel free to call me even more of a newb.
Just an update on the situation. I ran the a+x under chmod to set the permissions, and voila, it executes. Many thanks Zeno for the link again. I just have another question now, touching on what I mentioned in the last post. If I wanted to have only a select group access to permissions, where would I define my 'group' at? I currently have it set so that all who log in to the shell can access the startup (if I am reading it right), which isn't much an issue right now as only myself and the co-administrator have access to the shell at all. But where would I change it to define for the 2 of us only and none other who might log into the shell?
P.S. On a side note, SMAUGFuss is giving me a headache with the codebase... I think it is because there is SO much in it. Since this is a new project that I want a lot of customization (the abilities and combat and pretty much everything will be based off of d10 dice rolls) could anyone suggest a stable codebase that is a bit less inclusive? Thanks again.
Your group depends on your server admin most of the time.
http://en.wikipedia.org/wiki/Chgrp
http://www.cyberciti.biz/faq/howto-linux-add-user-to-group/
A bit less inclusive? I can't say I know much of a bit less that's stable. There's http://www.socketmud.dk/ but that is far less inclusive. I think http://www.nakedmud.org has a bit more, but I don't know anything about it (stability etc).
Maybe http://dead-souls.net/ but I haven't looked at that much either.
Groups are definitely what you need here. See groupadd (man groupadd) to make a group.
To add a person to a group see usermod. (You may have a GUI interface depending on how you are setup).
So for example, you might add Nick and David both to be in the "mudadmin" group (these are two different logins of course). Then you set permissions in the MUD directory so that mudadmin was write and execute access.
Note that you should set write access to all files, not just startup (otherwise someone might just bypass startup and run the executable itself).
Anyway, that shows the general idea.
As for SmaugFuss, this is the problem with codebases. Either they are very powerful (and very complex) or very simple and easy to change, but you need to change an awful lot.
Definitely gonna go check out those links later tonight when I get home from work and can sift through them better. Also gonna take a look at some of those codebases you mentioned, perhaps one of those will suit what I am in need of. Thanks for the info.
@Nick:
I'll check that out along with those links from Zeno and see where it leads me. Will set those permissions for all the files this evening.
I figured that codebases worked pretty much along those lines as far as power-to-ease ratios. The one I was used to was a Merc base from 10 years ago, with additions made by the head coder and myself over the years. I have no aversion to taking a basic code and then taking the time needed to modify it to my needs, as I said before a lot of the base structure itself will be needed to be overhauled to fit into the system envisioned.
A couple of more suggestions to research codebases;
http://www.mudbytes.net/ has literally dozens of codes, most actively supported via the forums or there are other derivatives of Smaug that may (or may not) better suit your needs over at http://www.smaugmuds.org/
Just an update. I thank everyone for the suggestions. After looking at the suggestions as well as more searching on my own, I got an older copy of QuickMUD codebase, and decided to run with it. I am already fairly familiar with how it interacts, and I am willing to sacrifice a bit of flash and dazzle for one that I am comfortable with utilizing. Thanks once again and we'll see where it goes from here. I've already gotten a few things going, here's to progress!!