Top Mud Sites Forum

Top Mud Sites Forum (http://www.topmudsites.com/forums/index.php)
-   MUD Coding (http://www.topmudsites.com/forums/forumdisplay.php?f=9)
-   -   How do YOU edit source on your MUD? (http://www.topmudsites.com/forums/showthread.php?t=5081)

Razan 08-22-2008 01:20 AM

How do YOU edit source on your MUD?
 
So this issue came up recently with some of our immortals looking for better ways to edit code. We run a highly customized LPC MUD where basically you 'ed' files then load them and clone them. Some of us (myself included) using Linux/*nix/Mac (BSD) have been using Tinyfugue w/ some macros to download our files by copying them to a public web address, shelling out and 'wget'ting the file locally, then throwing up 'vi' on it to edit the source. It works great, but kind of requires you have a command prompt and text editor of that sort. Furthermore, not all of our wizards are Unix people and I'd prefer not to be an OS bigot to them.

So how are you guys editing your source? I can't imagine going back to editing using 'ed' and it's painful to watch some of our wizards do it. I'd prefer ideas for ways you address this that don't involve a custom client your MUD uses (while I'm envious of how cool that might be, it's not particularly portable).

Thoughts?

- Razan d'Tsunami ()

Ide 08-22-2008 01:49 AM

Re: How do YOU edit source on your MUD?
 
Well it depends on their client obviously, but most Windows users could use a client with a /quote in command, then just cut and paste the file to their text editor, make changes, and /quote in the result, right? Or are you talking about something more complicated?

Magstant 08-22-2008 02:10 AM

Re: How do YOU edit source on your MUD?
 

I use to pwn with zmud 5, where you could only do 1 line at a time :).


ed workroom.c

50 lines, 1 ata time ;)

but zmud 7 is awesome, 70 lines at once = easy, BUt razans way just confused the living **** out of me xD

(Y) Razan

-Magstant


ps. if you couldn't tell we both play the same mud ! :)

Mabus 08-22-2008 02:49 AM

Re: How do YOU edit source on your MUD?
 
I have the exact same code on my home server as the game server.

At home I write the code usually in an IDE, or with a simple editor like ConText if it is a small change. I then use Ant to compile. I do any needed (major) testing before I take it from there.

I then Putty into the server, and depending on file size I either FTP the code in, or open a pico -w and copy/paste from my home file. Small code changes on the server are also usually done with pico. I also use Ant as a compiler on the game server (not just at home).

Life is easy.

The_Fury 08-22-2008 06:05 AM

Re: How do YOU edit source on your MUD?
 
I have AndLinux installed within XP and do all my coding locally using Kdevelop for the IDE. So from within the one program i have access to Konsole and Subversion which i use for source control. Server side i use a bunch of scripts and cron jobs that take care of daily backups, source updates from SVN, recompilation of the server and just about everything else, so much so that its been months since i have had to shell into the server to do anything.

I guess work flow might be different for the OP and anyone using LP or simular, but for the rest of us who have to compile then run, the above set up works very well. For me anyway. LOL

Something the OP might like to look at is bvrde is a c and c++ windows ide with ftp and ssh capabilities buit in, so from within the one program you can directly download the file/s you want to work on, edit them in a nice environment and then click save to have them saved back to the server.

I keep bvrde on a pen drive and take it anywhere i go, so i can always do some work on code no matter where i am, its a neat program and free.

Threshold 08-22-2008 09:28 AM

Re: How do YOU edit source on your MUD?
 
Cool topic.

For many years, I would write all of my code in notepad and paste it into Threshold through ed. That worked pretty well for a long time. I'd boot up my PC, open 4-8 instances of notepad, tile them, and go to work.

5 or 6 years ago, I started using UltraEdit and that made things a little better.

But about 2 years ago I started using WinSCP to download/upload all my files through ssh directly to the machine. This is even better, faster, and in a lot of ways more convenient. Every few days or so I completely overwrite my "workspace" file-for-file copy of the mudlib to make sure I have any changes made by any other developers.

Markov_AU 08-22-2008 10:45 AM

Re: How do YOU edit source on your MUD?
 
I've used multiple methods myself, form KDevelope, nano, nad if I was on my windows PC editing something source wise I tend to use TeraText Editor

Zivilyn 08-22-2008 11:03 AM

Re: How do YOU edit source on your MUD?
 
Sometimes I'll use pico or nano in shell, but usually I use BBEdit (OSX, OS 9 when I had that). It has an FTP window and will open/save to the file on the server. This works great with ONE coder going at a time, but in the past I've had 'hey, you editing something_source.c?' moments.

Absolutely love the newest BBEdit though, it has foldable code (so I can close between braces to see functions/checks easier), I can fold any 'if' check or switch/for/while etc statement so I just see the if (somecheck){<>}, it might be 300 lines between but I can fold it. Also, line numbering on the side lets me know where I'm at, and shows line number ranges in folded code. That, and the grep function is awesome in BBEdit.

Lasher 08-22-2008 11:42 AM

Re: How do YOU edit source on your MUD?
 
I've tried every IDE, editor and development tool I can find.

For pure efficiency, nothing still beats vi+cscope for me. There's a steep learning curve with some of the obscure key combinations, but once you have it down it is excellent.

Kylotan 08-22-2008 03:27 PM

Re: How do YOU edit source on your MUD?
 
I have a local copy of the (Diku, not LPC) code on my home PC. For small changes, I make them in TextPad/EditPlus/whatever, and FTP them up. Many text editors come with FTP built in, so that works well. For bigger changes, I boot into my Linux partition, edit in Kate, and test that it builds (with SCons) and runs locally. Having a local build and execution environment speeds up turnaround significantly when the change is not trivial enough to be guaranteed to work first time.

I find I need 2 things - to have a local copy of everything so that Find In Files executes quickly, and to have some sort of windowed multi-file text editor. Life's too short to spend memorising Vi keypresses. ;)

Markov_AU 08-22-2008 09:22 PM

Re: How do YOU edit source on your MUD?
 
Kdevelop I believe uses Kate as the text editor in it.

The_Fury 08-22-2008 09:39 PM

Re: How do YOU edit source on your MUD?
 
You know, i would have thought that it used Kwrite, in keeping with the K theme, but after a little searching on the matter it turns out that it does infact use Kate. Something that i did no know was that Kate stands for, KDE Advanced Text Editor. Thanks for the education. LOL

Kylotan 08-23-2008 06:34 AM

Re: How do YOU edit source on your MUD?
 
I think I have stayed away from KDevelop since it used to be quite unstable, and didn't work well with SCons-based projects. Maybe that's changed now though.

Baram 08-23-2008 07:45 AM

Re: How do YOU edit source on your MUD?
 
CVS and whatever editor/method they want to use. I personally use EditPlus2, which is an IDE for windows but works better on Linux under wine.

chaosprime 08-23-2008 12:25 PM

Re: How do YOU edit source on your MUD?
 
vi on the server for me. (I cannot fathom accepting the tradeoff of easy-to-use-at-first for less-power-when-expert. What, do you plan on only coding for a month or two of your life?)

My developers have FTP access to their workspace directories, so they use whatever they like, though of course editors with FTP integration have an edge. Crimson and nano appear to be popular choices.

Kylotan 08-23-2008 01:37 PM

Re: How do YOU edit source on your MUD?
 
More like 20 years :P But generally speaking it's far more productive to work with tools that don't require massive memorisation. I'll save that for areas that actually need it. Let's not pretend that these editors are cryptic because that way is somehow better; they're necessarily cryptic because of restrictions on the interface when they were created.

Lasher 08-23-2008 01:45 PM

Re: How do YOU edit source on your MUD?
 
Once you know them you know them, I don't feel like they "use up memory space" that should be saved for something else.

Another benefit of using VI+cscope (and for me it's the cscope part that really makes the difference) of course is that no matter where I login from, anywhere I can get an SSH connection all my tools are right there on the server. Some people may never need this, but for me it is invaluable.

I've even coded on a blackberry using midpssh to get back to the server. Although, I do have to admit, on a blackberry getting some of those key combinations in can be considered about the same as trying to juggle 18 onions while doing a handstand.

chaosprime 08-23-2008 02:02 PM

Re: How do YOU edit source on your MUD?
 
To some extent that's true of line editors. In vi's case, it's stayed cryptic because yes, that way is somehow better. That way is, precisely, that a friendly interface that's clear and helpful for newbies gets in the way of experts, slows them down and hobbles them. Because vi stuck with cryptic, I can reindent a paragraph of code with three keystrokes and no mouse movement (don't get me started on how crippling an input device the mouse is), I can perform operations like pattern-based column transposition that people using pretty, friendly editors can hardly dream of, and I can combine all kinds of operations in the ways that I need rather than the ways that some dialog box designer thought would best serve 95% of his market.

People who use pretty IDEs seem to think vi users are somehow kidding or deluded when we say that we use it because it's more powerful than other editors when you know it. But I'm afraid we're both entirely serious and speaking directly from substantial experience.

Kylotan 08-23-2008 02:17 PM

Re: How do YOU edit source on your MUD?
 
But the same could be said for learning Esperanto. ;) I spent plenty of time learning vi keystrokes at my last job, and ultimately you're just memorising things that other editors have on menus.

A common mistake that vi and emacs fans make is to think that someone who uses a windowed editor is mouse-reliant. I can reindent a paragraph of code with three or four keystrokes in most of my Windows-based editors too.

When used appropriately, the mouse is more efficient than the keyboard. And vice-versa. The difference is that in one situation, you have that choice, in another situation, you don't.

I don't doubt there's some cases which you find a lot more efficient, but all the examples I ever hear are of convoluted things that I need to do no more than once every 6 months in the usual course of coding. Quite often the people using the 'friendly' editors don't dream of these operations because they never found themselves performing them. I seriously doubt that the time spent learning these things in the first place is worth the investment for most people.

chaosprime 08-23-2008 02:24 PM

Re: How do YOU edit source on your MUD?
 
I imagine that's true. I don't consider myself or any other ambitious coder to be "most people".

Really, in the final analysis, much of my position is a matter of how intimidated my IDE-using colleagues are when they have occasion to see me working in vi. I suppose that could be me as much as vi. But I tend to believe that vi has a bit to do with it.

Ide 08-24-2008 12:33 AM

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

Anasadi 08-24-2008 07:43 PM

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

chaosprime 08-24-2008 07:59 PM

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.

Kylotan 08-25-2008 05:22 AM

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.

Ide 08-25-2008 10:33 AM

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.

Kylotan 08-25-2008 11:58 AM

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.

Anasadi 08-25-2008 07:25 PM

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

Spoke 08-28-2008 10:47 AM

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>

Kylotan 08-28-2008 11:04 AM

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.

Orrin 08-28-2008 11:19 AM

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.

Fizban 09-01-2008 02:27 PM

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.

Errigour 06-24-2010 03:27 AM

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.

noodles 06-24-2010 05:51 AM

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.

locke 07-19-2010 11:00 PM

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).

dentin 07-19-2010 11:30 PM

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

Pymeus 07-20-2010 08:10 PM

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.

plamzi 09-20-2010 03:57 PM

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

Markov_AU 09-20-2010 06:00 PM

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

Vatiken 09-20-2010 10:37 PM

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.

Vandread_TSOS 02-17-2011 11:43 AM

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.

Trip 02-17-2011 03:47 PM

Re: How do YOU edit source on your MUD?
 
Microsoft Visual Studio 2008 now, and before that Microsoft Visual C++ 6. Compile it and ftp it to the mud server. But we're on a windows box. On those instances where I've worked on other muds who were on linux, Usually just use Ultraedit and load and save the file directly from/to the server using the built in ftp integration.

Pymeus 02-18-2011 10:09 PM

Re: How do YOU edit source on your MUD?
 
We've found version control to really be a critical tool. Not only does it help us coordinate the efforts of multiple coders, but it's extremely comforting to know that we can step our code back to virtually any point since version control was implemented. It can also expedite tracking down new bugs; running a few diffs will tell us exactly what's changed lately.


All times are GMT -4. The time now is 08:53 PM.

Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright Top Mud Sites.com 2022