Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > Mud Development and Administration > MUD Coding
Click here to Register

Reply
 
Thread Tools
Old 08-24-2008, 12:33 AM   #21
Ide
Senior Member
 
Join Date: Feb 2006
Location: Seattle
Posts: 361
Ide will become famous soon enoughIde will become famous soon enough
Re: How do YOU edit source on your MUD?


My main experience has been with vim, but my day-to-day editor is SciTE. I just don't use editors that much to warrant a 'real' IDE or a 'real' screen editor, but from even my limited experience with vim I have to say that a key-combo editor is superior to a mouse-based editor, or even using keystroke commands to access menus, because typically your menu options are far more limited than the options of a keystroke-based editor. Keeping your hands on the home position is just more efficient in my experience. That said, if you use a trackpoint for a mouse like I do you get the best of both worlds. ;D
Ide is offline   Reply With Quote
Old 08-24-2008, 07:43 PM   #22
Anasadi
New Member
 
Join Date: Sep 2002
Posts: 25
Anasadi is on a distinguished road
Re: How do YOU edit source on your MUD?

Razan,

Your question can mean a lot of things for our MUD. If you refer to editors, the immortals use anything that can save a file to a UNIX text format, e.g. emacs. I use BBEdit currently. I've also used vim, pico, nano, JEdit and UltraEdit.

If you refer to the location of the code, we use an SVN repository, and for years before that CVS. Certain immortals have the code checked out locally, updating and checking in changes when needed. The production code is compiled on the server itself and svn'd there.

If you refer to the code itself, we use both Java and Scheme (a flavor of Lisp). We update the Java code, compile and test it out locally, then compile it on the server right before a reboot. We do the Scheme code the same way, except we can update it live on the MUD, no reboot required. This sorta drives our playerbase crazy, as we sometimes go for months at a time without a reboot. We also can update our areas (and mobprogs/scripts) live, but we refrain from it generally and wait for reboots to do this.

We also have been playing around with Groovy. We haven't done too much with it, however, but our mud is fully Groovy-enabled.

I hope this helps.

Anasadi
Anasadi is offline   Reply With Quote
Old 08-24-2008, 07:59 PM   #23
chaosprime
Member
 
Join Date: Jul 2007
Home MUD: Lost Souls
Posts: 199
chaosprime will become famous soon enough
Re: How do YOU edit source on your MUD?

Anasadi, if I could interest you in giving a quick summary of the ups and downs of switching from CVS to SVN as a MUD developer, I'd be interested.
chaosprime is offline   Reply With Quote
Old 08-25-2008, 05:22 AM   #24
Kylotan
Member
 
Join Date: Jun 2003
Location: Nottingham, UK
Home MUD: Abattoir (Smaug)
Home MUD: ex-Jellybean (Smaug)
Home MUD: ex-Dark Chambers (Merc)
Posts: 174
Kylotan is on a distinguished road
Send a message via ICQ to Kylotan Send a message via AIM to Kylotan Send a message via MSN to Kylotan Send a message via Yahoo to Kylotan
Re: How do YOU edit source on your MUD?

Anybody use any other form of source control? I use Mercurial locally, but haven't looked into whether I could use it on my shared host. We use CVS at work and that can get quite painful when several people are trying to maintain different combinations of changes independently.
Kylotan is offline   Reply With Quote
Old 08-25-2008, 10:33 AM   #25
Ide
Senior Member
 
Join Date: Feb 2006
Location: Seattle
Posts: 361
Ide will become famous soon enoughIde will become famous soon enough
Re: How do YOU edit source on your MUD?

Maybe someone could explain the differences between distributed RCSs (I think Mercurial is one of those) and systems meant to be centralized like SVN and CVS. Not that you can't work in a distributed manner with SVN but I don't think that is the main intent. I've also been experimenting with Bazaar, another distributed RCS. From what I've read Bazaar and Mercurial have some similarities.
Ide is offline   Reply With Quote
Old 08-25-2008, 11:58 AM   #26
Kylotan
Member
 
Join Date: Jun 2003
Location: Nottingham, UK
Home MUD: Abattoir (Smaug)
Home MUD: ex-Jellybean (Smaug)
Home MUD: ex-Dark Chambers (Merc)
Posts: 174
Kylotan is on a distinguished road
Send a message via ICQ to Kylotan Send a message via AIM to Kylotan Send a message via MSN to Kylotan Send a message via Yahoo to Kylotan
Re: How do YOU edit source on your MUD?

The main difference with something like Mercurial is that everybody's checking in to their own local repositories and then sharing changes as needed, rather than everybody checking in to one place. You can check in and roll back locally without affecting anybody else. You can also be more selective about what and when you check things in, such as stopping half way through your big combat system revamp which you commit locally, making some unrelated bug fixes, and then trivially submitting a changeset of only those bug fixes to the central repository, even if they're in the same files as the ones you're changing for the combat system. Or you can easily send those bug fixes to someone else to merge into their local repository to test for compatibility with their new skills and spells etc, without needing to commit to the main source repository first. If you want a distinct 'branch', you clone a repository locally, and that's that.

I think some people might not like the idea that there isn't one single authoritative repository with clear versions and so on, but it's easy enough to designate one repository as having that role if you need. Generally I find that Mercurial just feels both simpler and more advanced than the centralised systems I've used.
Kylotan is offline   Reply With Quote
Old 08-25-2008, 07:25 PM   #27
Anasadi
New Member
 
Join Date: Sep 2002
Posts: 25
Anasadi is on a distinguished road
Re: How do YOU edit source on your MUD?

Chaosprime,

There's not much to describe. If a person knows CVS, they already know a great deal about SVN. Command-wise. Here's some brief examples -
CVS / SVN
---------------------------------
cvs checkout / svn checkout
cvs add foo.txt / svn add foo.txt
cvs update / svn update
cvs commit / svn commit
...

There weren't really downs to switching to svn, unless you count the upgrades to the OS and Apache, which should be done regularly anyway. It was merely a matter of allotting time.

On the other hand, with svn, we can now open up portions of our repository to the web (we may have been able to publish portions with cvs, I don't know, we didn't use that bit), create individualized checkouts for immortals, have the diffs between files mailed to us directly, and more. I believe we can do file locking, so no more than one person is working on a file at a time, but we haven't used it, and if two of us do happen to work on the same file and commit it without updating, svn will merge the changes (letting you know where these take place). Renaming and moving files in SVN is a bit easier than doing it in CVS. SVN also seems a little faster than CVS, but that's my experience, your mileage may vary.

I'm not saying CVS is bad - it isn't. Just SVN provides us more options. If I were given the choice, I would go with SVN.

Anasadi
Anasadi is offline   Reply With Quote
Old 08-28-2008, 10:47 AM   #28
Spoke
Member
 
Join Date: Oct 2003
Posts: 101
Spoke is on a distinguished road
Re: How do YOU edit source on your MUD?

In my opinion vi is the way to go. The advantage is portability because you basically have to carry nothing around. Everything remains in the server making things much easier, you have a single configuration that you like and use it from wherever you log in. The fact that is text based makes is a practical choice even in places where you have a poor internet connection. There are a few graphical interfaces for vi too, so it does not mean that the two things are mutually exclusive, but as a rule of thumb, if you have a key-stroke to perform an action that you need to repeat often, it is usually more efficient than using a mouse, plus, the requirement of a pointing device for anything is a hassle when you are dealing with mobile devices (you may also navigate vi's help and menus with a mouse if you so configure it by the way).

Though a bit off-topic, this is the same reason I stopped using zMud and other windows based mud clients. It was horrible to have to depend on being able to run or install a piece of software wherever I went and having to carry around my character files, and then having to update them as I got home so I knew I had the latest version up etc etc. Now when I play, I just keep a copy of tintin running in my linux box, connect to it through ssh and voila, everything is there, and once again, because it is only text, you can make it work wherever you are.

With respect to whomever mentioned 'I can do the key-typing too' in Menu based editors, well, if you know a key-stroke sequence for performing such tasks then I do not understand your objection to vi ("I spent plenty of time learning vi keystrokes at my last job, and ultimately you're just memorizing things that other editors have on menus.") since you are doing it with your Menu based editor anyway.

Lastly, I believe the choice of editor goes along with the mental disposition of the user. Some people feel more comfortable with Menus and a friendly graphical atmosphere and are thus more efficient working in such an environment. Other people may thrive in environments where they have more control on the subtleties of editing and being able to do arbitrary thing, and so they devote more time to learning to just do so and work effectively in this kind of environment. For me, as a physics student the clearest way to explain it is comparing typing papers in LaTeX vs typing them in MS Word. Yes, you can get everything to look the way you want in MS Word, eventually, and you can have a publish-worthy paper typed and formatted on MS Word, but once you learn the tricks and commands on LaTeX (not entirely intuitive) you realize that finishing a publication worthy paper with tons of equations and graphs on it takes about 1/5 th of the time in LaTeX.

Anyway </2 Cents>
Spoke is offline   Reply With Quote
Old 08-28-2008, 11:04 AM   #29
Kylotan
Member
 
Join Date: Jun 2003
Location: Nottingham, UK
Home MUD: Abattoir (Smaug)
Home MUD: ex-Jellybean (Smaug)
Home MUD: ex-Dark Chambers (Merc)
Posts: 174
Kylotan is on a distinguished road
Send a message via ICQ to Kylotan Send a message via AIM to Kylotan Send a message via MSN to Kylotan Send a message via Yahoo to Kylotan
Re: How do YOU edit source on your MUD?

That was me. And the difference is that with the menu it is easier to find the information for first and subsequent uses until memorisation takes place, and that the search for that information is prompted at every step. For regularly-used commands, there's no benefit. But for less regularly used commands, they're easier to find within a hierarchical menu system, and for obscure commands you rarely use and will probably never memorise, a dialog based approach reduces the chance of error by providing context-specific feedback. The idea of providing context-specific cues and feedback is key to making an interface more usable and is the main advantage that most windowed environments have over the command-line.
Kylotan is offline   Reply With Quote
Old 08-28-2008, 11:19 AM   #30
Orrin
Member
 
Join Date: Jul 2008
Name: Matt
Posts: 141
Orrin is on a distinguished road
Re: How do YOU edit source on your MUD?

I use WinSCP to connect to the server and then edit the source files locally using notepad2. I've used more complicated setups in the past, but I find that this works well enough for what I want.
Orrin is offline   Reply With Quote
Old 09-01-2008, 02:27 PM   #31
Fizban
Member
 
Join Date: Jul 2006
Name: Brandon
Location: Shelby Township, Michigan
Home MUD: The Builder Academy
Home MUD: 4 Dimensions
Posts: 144
Fizban is on a distinguished road
Re: How do YOU edit source on your MUD?

For large changes I usually use UltraEdit Studio to do the actual coding in and Filezilla to transfer files between my pc and the server. Though for small changes i just use pico server-side via PuTTy.
Fizban is offline   Reply With Quote
Old 06-24-2010, 03:27 AM   #32
Errigour
New Member
 
Join Date: Mar 2009
Posts: 11
Errigour is on a distinguished road
Talking Re: How do YOU edit source on your MUD?

Me, how do I edit files? I use midnight commander. If I had anyone working an a mud with me I would probably put a copy of the running mud on a different server in a directory that they could ssh to. I believe you can use midnight commnder with ssh but thats probably what I would recommend for anyone edting files and stuff. ctrl+o gives you a command prompt to grep -n "string" *.c if you need to find strings. forunetly with midnight commander you can paste into it and you can highlight and move stuff around in the file but you cant copy out of it so. I run into some problems on that aspect of programming. if you use youe shells F1 threw F6 you can use the ctrl+insert to copy i believe and shift+delete deetes anything highlighted. also if anyone knows anything about hex midnight commander comes with F+3 file viewer that you can select to view the hexidecimal aspect of some files and even edit the hex values
whic some people find useful. I still can't even cheat on rom save files.


relik.ath.cx port:2001
I could use some help if anyone likes
what they see and wants to be a part
of a circlemud base mud.


necromium.com port:4000
I play here frequently, Its
one of the coolest circlemud
base games Ive seen.
Errigour is offline   Reply With Quote
Old 06-24-2010, 05:51 AM   #33
noodles
Member
 
Join Date: Nov 2002
Posts: 30
noodles is on a distinguished road
Re: How do YOU edit source on your MUD?

Reading this thread brings back a lot of memories about a variety of different ways in which I have edited source, and the environment and ways in which myself and my fellow coders have had to work.

Initially I worked on an LP MUD and the typical workflow was to edit files locally in whichever editor was available from wherever a coder was logged in, pasting in the file when the changes were complete. There was also an FTP server (which was pretty standard) and coders could upload files through that. This was cumbersome however as development had to be done communually on either the main game server, or the development server. The coder could easily make a typo which would introduce problems, requiring some way of reverting the changes (which hopefully they had manually backed up). Or the changes could clobber concurrently made changes by a fellow developer. Both of these situations occurred often.

This drove the MUD source code to be provided to coders, who could work on a local copy of the MUD. Development was now much more convenient. The problem of unreliable changes being put in place was lessened, but the clobbering problem remained.

Now I work on a MUD written in C. The code base is stored in a distributed version control system, where a central branch is used for the live version of the MUD. A process monitors the central branch and when a change is committed a new MUD server is automatically built.

The process runs a set of unit tests exercising the reliability and the stability of the compiled code. If there are failures, the changes are reverted and a notification email containing the relevant details (including the name of whomever checked it in) is sent to the developers mailing list. If the unit tests pass, it next runs the functional tests. These simulate use of the server by players, doing everything from creating new users, attempting different forms of movement through to staging combat and so forth. If this fails, the same thing happens as does for unit test failures. If it succeeds, then tentative server deployment starts.

The new version of the server is run, however it does not accept connections yet. What it does do is connect to the proxy server, notifying it that a new game server has been started and its version number. The proxy server then asks the existing game server to pause (notifying the players that a server upgrade is in progress), at which point the game server serializes the game state and hands it back to the proxy. The proxy then hands it to the new server, which attempts to fully recreate it. If the new server fails, it notifies the proxy and exits. The monitoring process detects the unexpected exit and processes the output, doing the unit/functional test failure activities, after which the proxy server resumes activity on the old game server.

If the new game server successfully recreates the state it was handed in a paused state, then it notifies the proxy which then proceeds to channel its connections to the new game server, and decommission the old server.

Anyway, back to editing. People can use the editor of their choice locally on their own game server running from their local branch. They can at any time engage the unit or functional testing locally. No more clobbering of changes made by others, except through sloppy merging. Coders are expected to have run the tests locally before checking into the central branch.
noodles is offline   Reply With Quote
Old 07-19-2010, 11:00 PM   #34
locke
Banned
 
Join Date: Jan 2009
Home MUD: nimud.divineright.org 5333
Posts: 195
locke is an unknown quantity at this point
Re: How do YOU edit source on your MUD?

When doing major things to the code, I use Komodo Edit.

When I'm just tinkering or debugging, I use nano and I SSH onto the actual server.

You'd be better off using the Git/SVN -> editor tool chain. This is a common collaborative programming setup where one site hosts various versions (dev/live or debug/release) and you check files in and out using svn (cross-platform).
locke is offline   Reply With Quote
Old 07-19-2010, 11:30 PM   #35
dentin
Member
 
Join Date: Apr 2008
Home MUD: Alter Aeon
Posts: 245
dentin is on a distinguished road
Re: How do YOU edit source on your MUD?

Subversion via SSH for code synccing between dev and production boxes.

VI at console terminal for editing. F1-F3 typically for general .c/.h file editing, F4 for compiling, F5 running a GDB session for test, F6, F8, F9, and F10 with telnet sessions for test as appropriate, F7 for notes and todo list. F12 is admin link to production server.

The Linux console terminals are in mode 307, 1280x1024x8. The resulting text console size is 160x64, which works really well for editing.


-dentin
dentin is offline   Reply With Quote
Old 07-20-2010, 08:10 PM   #36
Pymeus
Member
 
Join Date: Oct 2008
Home MUD: tharel.net
Posts: 36
Pymeus is on a distinguished road
Re: How do YOU edit source on your MUD?

I also use mcedit (the built-in editor for Midnight Commander), either locally or remotely. It's a simple interface relative to most text-mode editors and the syntax highlighting is much more visible than others I've dealt with. I've never really used Midnight Commander itself, oddly enough.
Pymeus is offline   Reply With Quote
Old 09-20-2010, 03:57 PM   #37
plamzi
Senior Member
 
Join Date: Nov 2009
Home MUD: bedlam.mudportal.com:9000
Home MUD: www.mudportal.com
Posts: 292
plamzi is on a distinguished road
Re: How do YOU edit source on your MUD?

Version Control System: SVN (Subversion server for Linux)

Text Editors:
VIM for quick changes
InType or Eclipse on Windows
XCode on OSX
plamzi is offline   Reply With Quote
Old 09-20-2010, 06:00 PM   #38
Markov_AU
Member
 
Join Date: Jun 2004
Name: Ben
Location: Zelienople, PA
Home MUD: Adventures Unlimited
Posts: 68
Markov_AU is on a distinguished road
Re: How do YOU edit source on your MUD?

We use SVN for source control now (recent development) and I'd like to pitch a windows based tool I used some too for editing, Teratext editor, it's made by some Russians I believe lol
Markov_AU is offline   Reply With Quote
Old 09-20-2010, 10:37 PM   #39
Vatiken
New Member
 
Join Date: Sep 2010
Home MUD: Ebendale Online
Posts: 7
Vatiken is on a distinguished road
Re: How do YOU edit source on your MUD?

I use geany to edit source and I transfer files using simple click&drag in Ubuntu.
Vatiken is offline   Reply With Quote
Old 02-17-2011, 11:43 AM   #40
Vandread_TSOS
New Member
 
Join Date: Aug 2009
Posts: 2
Vandread_TSOS is on a distinguished road
Re: How do YOU edit source on your MUD?

I use Visual Studio 2010 (Pro, I use it with work, so I didn't need to get a copy just for the mud) and it gives me some great features like the intellisense which make development so much easier.

I also use the AnkhSVN add-on for it and have SVN on our ubuntu server for version control so the asst coder and I can work at the same time without worrying about overwriting each other's updates.

All in all it makes for a pretty easy development environment and it works really well. Unfortunately 2010 express doesn't support add-ons so you need at least the pro version, but there are other ways to acquire fully functional copies through the trial version.
Vandread_TSOS is offline   Reply With Quote
Reply


Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 11:35 AM.


Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Style based on a design by Essilor
Copyright Top Mud Sites.com 2022