From coldstuff@cold.org Sat Feb 2 19:51:06 2002 From: coldstuff@cold.org (Michael Henry) Date: Sat, 2 Feb 2002 12:51:06 -0700 Subject: [Coldstuff] (RFC) Object Flag Idea In-Reply-To: <20020201120006.3E340341C0@mojo.roguetrader.com> References: <20020201120006.3E340341C0@mojo.roguetrader.com> Message-ID: <20020202195106.GA29007@prometheus.localnet> This is my first post, and I have only read the most recent (2001-2002) list archive. Don't get too upset at me if this topic had been covered already. Ive been mucking about in the ColdCore and Driver, and thought that it might be useful to create an additional object flag in the driver. Non-Persist. If this flag was set on an object, it would never be written to disk. It would be useful for session specific objects, such as connection objects. Lets say you run a large scale server you would: - Not have to write EVERY active connection to disk. (less IO and space utilization) - Not have to delete stale connection objects on boot. (Quicker reboots upon a crash) It does not seem like a hard patch, but would it be useful? Anyway, that was my 3.14159 cents. Mike - "derMike" From coldstuff@cold.org Sun Feb 3 17:15:49 2002 From: coldstuff@cold.org (Jonathan Walker) Date: Sun, 3 Feb 2002 11:15:49 -0600 Subject: [Coldstuff] Errors upon making Genesis. Message-ID: <200202031115.AA125763652@naptallica.net> Hello, when I try to make genesis under Mandrake 8.1, it gives me undefined references to various dbm_ statements. They appear in the ndbm.h header file. These errors appear during the linking process - they appear in lookup.o. I've checked and I DO have the ndbm.h file in the /usr/include/db1/ directory. I'm not entirely sure what else is wrong. It's the only problem that I'm having with it. :( I can't copy the errors, since piping it doesn't seem to work. So I typed this up for you. lookup.o: In function 'get_name': /home/coldc/Genesis-1.1.10-STABLE/src/lookup.c:363: undefined reference to 'dbm_fetch' collect2: ld returned 1 exit status make[1]: *** [coldcc] Error 1 Your help would be very very very appreciated!! - J. Walker From coldstuff@cold.org Sun Feb 3 17:25:54 2002 From: coldstuff@cold.org (xmath) Date: Sun, 3 Feb 2002 18:25:54 +0100 Subject: [Coldstuff] (RFC) Object Flag Idea In-Reply-To: <20020202195106.GA29007@prometheus.localnet> References: <20020201120006.3E340341C0@mojo.roguetrader.com> <20020202195106.GA29007@prometheus.localnet> Message-ID: >Ive been mucking about in the ColdCore and Driver, and thought >that it might be useful to create an additional object flag in >the driver. Non-Persist. > >If this flag was set on an object, it would never be written >to disk. Genesis uses a disk-based database. A non-persist flag would involve somehow forcing it to be kept in cache, rather than being written to disk. This means that after a while you'd run out of cache space. The disk-based index will probably cause even more trouble. Not to mention the parents/children lists. I'm afraid the only sensible thing to do is delete all non-persistent objects at server startup, which is something you can do easily from within the db, without any addition to Genesis. (it's possible something like this is already there - I'm not very familiar yet with all the details of ColdCore) - xmath From coldstuff@cold.org Sun Feb 3 17:37:54 2002 From: coldstuff@cold.org (Michael Henry) Date: Sun, 3 Feb 2002 10:37:54 -0700 Subject: [Coldstuff] Errors upon making Genesis. In-Reply-To: <200202031115.AA125763652@naptallica.net> References: <200202031115.AA125763652@naptallica.net> Message-ID: <20020203173754.GB29007@prometheus.localnet> Jonathan Walker wrote: > Hello, when I try to make genesis under Mandrake 8.1, it gives me undefined references to various dbm_ statements. They appear in the ndbm.h header file. These errors appear during the linking process - they appear in lookup.o. I've checked and I DO have the ndbm.h file in the /usr/include/db1/ directory. I'm not entirely sure what else is wrong. It's the only problem that I'm having with it. :( > > I can't copy the errors, since piping it doesn't seem to work. > So I typed this up for you. > > lookup.o: In function 'get_name': > /home/coldc/Genesis-1.1.10-STABLE/src/lookup.c:363: undefined reference to 'dbm_fetch' > > collect2: ld returned 1 exit status > make[1]: *** [coldcc] Error 1 Do you have GDBM installed? If you notice in the make file, the second option is -lgdbm: LIBS=-lintl -lgdbm -lsocket -lm -lnsl If you have it installed, make sure that its path is in: /etc/ld.so.conf You may also have to run this as root to ensure ld.so.cache is current: /sbin/ldconfig If you do not have it installed, you can get it at the following location: http://www.gnu.org/software/gdbm/gdbm.html There is probably an RPM for it as well. I hope this helps, else someone a little more experience with ColdC can help you. (This is day 4 for me). Mike - "derMike" From coldstuff@cold.org Sun Feb 3 18:04:52 2002 From: coldstuff@cold.org (Michael Henry) Date: Sun, 3 Feb 2002 11:04:52 -0700 Subject: [Coldstuff] Errors upon making Genesis. In-Reply-To: <20020203173754.GB29007@prometheus.localnet> References: <200202031115.AA125763652@naptallica.net> <20020203173754.GB29007@prometheus.localnet> Message-ID: <20020203180452.GC29007@prometheus.localnet> Michael Henry wrote: > If you notice in the make file, the second option is -lgdbm: > LIBS=-lintl -lgdbm -lsocket -lm -lnsl Oy, stupid me for trying to help before my first cup of coffee. >From the configure file: ----------------------------------------------------- if eval "test \"`echo '$ac_cv_header_ndbm_h'`\" = yes"; then cat >> confdefs.h <<\EOF #define DBM_H_FILE EOF elif eval "test \"`echo '$ac_cv_header_db1_ndbm_h'`\" = yes"; then echo "** working around odd placement of ndbm.h file" cat >> confdefs.h <<\EOF #define DBM_H_FILE EOF elif eval "test \"`echo '$ac_cv_header_gdbm_ndbm_h'`\" = yes"; then echo "** working around odd placement of ndbm.h file" cat >> confdefs.h <<\EOF #define DBM_H_FILE EOF else ------------------------------------------------------- The same troubleshooting should apply. However. Library paths are a common problem with linking failures. You should probably get GDBM anyway. Its tiny and more functional than ndbm :-) sorry for lack of brains this morning. Mike - "derMike" From coldstuff@cold.org Mon Feb 11 16:05:39 2002 From: coldstuff@cold.org (Edward L. Haletky) Date: Mon, 11 Feb 2002 10:05:39 -0600 Subject: [Coldstuff] SQL... Message-ID: Has an SQL backend been developed yet? How about working in a clustered environment? Thanks, -Edward From coldstuff@cold.org Mon Feb 11 16:21:24 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Mon, 11 Feb 2002 09:21:24 -0700 Subject: [Coldstuff] SQL... Message-ID: <20020211092124.A23642@mojo.cold.org> From: "Edward L. Haletky" > How about working in a clustered environment? What do you mean by clustered? I could be one of: 1) Cold-Standby HA fail-over such as with Veritas Cluster Server or perhaps a linux HA cluster product. 2) Parallel clustered where multiple drivers run on different nodes, using the same DB 3) A group of dbs virtually linked at the core layer, instead of the DB layer, to provide the ability to cross between servers. -Brandon From coldstuff@cold.org Mon Feb 11 13:05:59 2002 From: coldstuff@cold.org (Jonathan Ross) Date: Mon, 11 Feb 2002 13:05:59 -0000 Subject: [Coldstuff] SQL... References: <20020211092124.A23642@mojo.cold.org> Message-ID: <000901c1b326$c31a3b90$56669e18@vross> You may or may not know this but I've been playing around with byte-code interpreters for a while now writing test code, documentation, etc (I finally hit the 100KB mark in documentation and over 2,000 lines of VC++ test code; 25KB .txt and 78KB .doc). However, I'm by far no expert and hearing the options on clusters reminded me of that. I had intended to include a built in form of clustering and the ability to call functions on individual registered objects over networks; I never considered that there might be other ways to do it. Now to the point. I realize that this mailing list is for ColdCore and the related components as well as usage. Many of the people on this list have vastly superior experience when it comes to byte-code languages and I would love to tap that knowledge. Therefore I'd like to ask permission to ask questions regarding the driver I'm developing on this list. It may not directly relate to Genesis or ColdCore but I'm sure some of the discussion will correlate and possibly be of use in helping decide the development tree of the driver. --Jonathan Ross ----- Original Message ----- From: "Brandon Gillespie" To: Sent: Monday, February 11, 2002 11:21 AM Subject: Re: [Coldstuff] SQL... > From: "Edward L. Haletky" > > How about working in a clustered environment? > > What do you mean by clustered? I could be one of: > > 1) Cold-Standby HA fail-over such as with Veritas Cluster Server or > perhaps a linux HA cluster product. > 2) Parallel clustered where multiple drivers run on different nodes, > using the same DB > 3) A group of dbs virtually linked at the core layer, instead of the > DB layer, to provide the ability to cross between servers. > > -Brandon > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Mon Feb 11 18:23:10 2002 From: coldstuff@cold.org (Bruce Mitchener) Date: Mon, 11 Feb 2002 11:23:10 -0700 Subject: [Coldstuff] SQL... References: <20020211092124.A23642@mojo.cold.org> <000901c1b326$c31a3b90$56669e18@vross> Message-ID: <3C680C0E.20806@cubik.org> Jonathan Ross wrote: > Now to the point. I realize that this mailing list is for ColdCore and > the related components as well as usage. Many of the people on this list > have vastly superior experience when it comes to byte-code languages and I > would love to tap that knowledge. Therefore I'd like to ask permission to > ask questions regarding the driver I'm developing on this list. It may not > directly relate to Genesis or ColdCore but I'm sure some of the discussion > will correlate and possibly be of use in helping decide the development tree > of the driver. MUD-Dev is a much better place for that sort of discussion and those of us that do driver dev for Cold are on that list. See http://www.kanga.nu/ for information and to subscribe. I also have a site that covers some of these topics and will cover more as people contribute the appropriate content: http://agora.cubik.org/ - Bruce From coldstuff@cold.org Tue Feb 12 04:03:56 2002 From: coldstuff@cold.org (coldstuff@cold.org) Date: Mon, 11 Feb 2002 22:03:56 -0600 (CST) Subject: [Coldstuff] SQL... In-Reply-To: <20020211092124.A23642@mojo.cold.org> from "Brandon Gillespie" at Feb 11, 2002 09:21:24 AM Message-ID: <200202120403.g1C43uP23025@astroarch.com> Hi, Well to be specific, an SQL database so that I can use a form of database clustering without affecting coldcore in any way. This could be for an HA cluster or for a beowulf cluster, etc. Best regards, Edward > > From: "Edward L. Haletky" > > How about working in a clustered environment? > > What do you mean by clustered? I could be one of: > > 1) Cold-Standby HA fail-over such as with Veritas Cluster Server or > perhaps a linux HA cluster product. > 2) Parallel clustered where multiple drivers run on different nodes, > using the same DB > 3) A group of dbs virtually linked at the core layer, instead of the > DB layer, to provide the ability to cross between servers. > > -Brandon > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Tue Feb 12 04:37:17 2002 From: coldstuff@cold.org (Jon A. Lambert) Date: Mon, 11 Feb 2002 23:37:17 -0500 Subject: [Coldstuff] SQL... In-Reply-To: <200202120403.g1C43uP23025@astroarch.com> Message-ID: > elh@astroarch.com wrote > Subject: Re: [Coldstuff] SQL... > > Well to be specific, an SQL database so that I can use a form of database clustering > without affecting coldcore in any way. This could be for an HA cluster or for a > beowulf cluster, etc. > It's fairly trivial to write an SQL backend for Cold. Or I should say to write a trivial backend of this sort: Cold DB key data objectid blob/image But then GDBMS will outperform it anyways. No benefits of relational are realized except possibly distribution. It is NOT trivial to map the Cold object model to a relational model. One reason is Cold objects are runtime dynamic. Relational database schemas are not runtime dynamic... well they are not designed to be efficient in changing schemas although most now at least support dynamic DDL. In fact very few ODBMSs will handle the dynamic nature of the Cold model. Database clustering or distribution should be handled transparent to Cold, but the available features and implementation vary quite a bit among RDBMSs. Yes, go to Mud-dev and search the archives. Lot's of good mud DB info there. :-) -- --* Jon A. Lambert - TychoMUD Email:jlsysinc@ix.netcom.com *-- --* Mud Server Developer's Page *-- --* If I had known it was harmless, I would have killed it myself.*-- From coldstuff@cold.org Tue Feb 12 06:40:37 2002 From: coldstuff@cold.org (coldstuff@cold.org) Date: Tue, 12 Feb 2002 00:40:37 -0600 Subject: [Coldstuff] Command Logging Message-ID: <3C686485.16291.FAC02B8@localhost> I am setting up a new ColdMUD, and I have been looking for how to set command logging on, so we can search the logs in the case of a complaint. Does Cold have this capability? How and where do I set it? Talvin From coldstuff@cold.org Tue Feb 12 08:10:48 2002 From: coldstuff@cold.org (Brad Roberts) Date: Tue, 12 Feb 2002 00:10:48 -0800 (PST) Subject: [Coldstuff] SQL... In-Reply-To: Message-ID: While it might be simple to replace the genesis storage layer (of which gdbm is just a small part, the indexes) with a similar layer that stuffs the data into a sql server's blobs, that still doesn't give you any sane mechanism for doing any sort of clustered work. Genesis caches data until either a checkpoint or a forced cache eviction to load another object. This means that in the mean time, data is only visible to the process that has the cached data. The only way to get coherence across multiple genesis processes accessing the same sql back end would be a distributed lock manager and some very careful cache invalidations. This enters into the realm of _highly_non-trivial_ work. There's a reason high end database servers like Oracle Parallel Server, Informix Extended Parallel Server and IBM's DB2 cost an arm and a leg.. :) For HA you want several things, the primary of which is 100% on disk database consistency. Genesis doesn't guarantee this except possibly for the instant at then end of the cache flush before the async backup kicks in and the regular event loop resumes. I've put quite a bit of thought into how to make genesis able to keep the on disk data consistent, but its a lot of work that I won't likely be doing any time soon without some serious convincing, probably in the form of a bribe. That said, on disk coherency is still orders of magnitude easier than cache coherency across multiple nodes in a cluster. SQL servers are good for some things, but they're far from the panacea that people seem to make them out to be. Later, Brad On Mon, 11 Feb 2002, Jon A. Lambert wrote: > Date: Mon, 11 Feb 2002 23:37:17 -0500 > From: Jon A. Lambert > Reply-To: coldstuff@cold.org > To: coldstuff@cold.org > Subject: RE: [Coldstuff] SQL... > > > elh@astroarch.com wrote > > Subject: Re: [Coldstuff] SQL... > > > > Well to be specific, an SQL database so that I can use a form of database clustering > > without affecting coldcore in any way. This could be for an HA cluster or for a > > beowulf cluster, etc. > > > > It's fairly trivial to write an SQL backend for Cold. > Or I should say to write a trivial backend of this sort: > > Cold DB > key data > objectid blob/image > > But then GDBMS will outperform it anyways. > No benefits of relational are realized except possibly distribution. > > It is NOT trivial to map the Cold object model to a relational model. > One reason is Cold objects are runtime dynamic. Relational database > schemas are not runtime dynamic... well they are not designed to be > efficient in changing schemas although most now at least support > dynamic DDL. > > In fact very few ODBMSs will handle the dynamic nature of the Cold > model. > > Database clustering or distribution should be handled transparent to > Cold, but the available features and implementation vary quite a bit > among RDBMSs. > > Yes, go to Mud-dev and search the archives. > Lot's of good mud DB info there. :-) > > -- > --* Jon A. Lambert - TychoMUD Email:jlsysinc@ix.netcom.com *-- > --* Mud Server Developer's Page *-- > --* If I had known it was harmless, I would have killed it myself.*-- > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Tue Feb 12 08:16:59 2002 From: coldstuff@cold.org (Brad Roberts) Date: Tue, 12 Feb 2002 00:16:59 -0800 (PST) Subject: [Coldstuff] Command Logging In-Reply-To: <3C686485.16291.FAC02B8@localhost> Message-ID: The coldcore command system, last I looked, had no built in mechanism for this. However, it'd be trivial to add. I'd write another $user_parser that did nothing other than log the command and pass processing along and add it to the default parser list in $user.get_base_parsers(). All this is assuming that nothing's changed in coldcore in the last.. oh.. couple years. You should think long and hard about doing this before actually implementing it. There are privacy and security issues, at a minimum. I'd also consider legal side-effects also. I tend to be paranoid when it comes to things like this, so take my advice for what little its worth. Later, Brad On Tue, 12 Feb 2002 talvin@multipro.com wrote: > Date: Tue, 12 Feb 2002 00:40:37 -0600 > From: talvin@multipro.com > Reply-To: coldstuff@cold.org > To: cold-coldstuff@cold.org > Subject: [Coldstuff] Command Logging > > I am setting up a new ColdMUD, and I have been looking for how to set command logging on, so > we can search the logs in the case of a complaint. Does Cold have this capability? How and > where do I set it? > > Talvin > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Tue Feb 12 08:16:59 2002 From: coldstuff@cold.org (Brad Roberts) Date: Tue, 12 Feb 2002 00:16:59 -0800 (PST) Subject: [Coldstuff] Command Logging In-Reply-To: <3C686485.16291.FAC02B8@localhost> Message-ID: The coldcore command system, last I looked, had no built in mechanism for this. However, it'd be trivial to add. I'd write another $user_parser that did nothing other than log the command and pass processing along and add it to the default parser list in $user.get_base_parsers(). All this is assuming that nothing's changed in coldcore in the last.. oh.. couple years. You should think long and hard about doing this before actually implementing it. There are privacy and security issues, at a minimum. I'd also consider legal side-effects also. I tend to be paranoid when it comes to things like this, so take my advice for what little its worth. Later, Brad On Tue, 12 Feb 2002 talvin@multipro.com wrote: > Date: Tue, 12 Feb 2002 00:40:37 -0600 > From: talvin@multipro.com > Reply-To: coldstuff@cold.org > To: cold-coldstuff@cold.org > Subject: [Coldstuff] Command Logging > > I am setting up a new ColdMUD, and I have been looking for how to set command logging on, so > we can search the logs in the case of a complaint. Does Cold have this capability? How and > where do I set it? > > Talvin > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Tue Feb 12 08:40:20 2002 From: coldstuff@cold.org (coldstuff@cold.org) Date: Tue, 12 Feb 2002 02:40:20 -0600 Subject: [Coldstuff] Command Logging In-Reply-To: References: <3C686485.16291.FAC02B8@localhost> Message-ID: <3C688094.13622.10199F26@localhost> On 12 Feb 2002, at 0:16, Brad Roberts wrote: > > You should think long and hard about doing this before actually > implementing it. There are privacy and security issues, at a minimum. > I'd also consider legal side-effects also. I tend to be paranoid when it > comes to things like this, so take my advice for what little its worth. Well, my experience has been with MUCKs, where such a thing is accepted as a matter of course. Our privacy statement in our policy states clearly that everything is logged, and the server is as secure as a professional can make it. Frankly, when a complaint of harassment comes along, it is alot easier to just dig out the logs, extract the relevant sections, and find out what really *did* happen. In 6 years of admin-ing a MUCK, I saw this happen several times. Thanks for the input. From coldstuff@cold.org Tue Feb 12 19:14:45 2002 From: coldstuff@cold.org (coldstuff@cold.org) Date: Tue, 12 Feb 2002 13:14:45 -0600 Subject: [Coldstuff] A couple questions, possibly related. Message-ID: <3C691545.11290.125E8B86@localhost> OK. While working with coldcc, our Site Maintainer says he saw a reference to 30,000 as a limit. He was not sure if this was 30,000k, or 30,000 as the top db#, or what. Is there a limit to the database size? Is it tunable? Also, "binary database free size". This is showing us around 5.7%, as opposed to 6.4% for a fresh ColdCore. How is this figured? What does it mean, and what should we be watching for? Eric Jordan From coldstuff@cold.org Tue Feb 12 19:33:41 2002 From: coldstuff@cold.org (Bruce Mitchener) Date: Tue, 12 Feb 2002 12:33:41 -0700 Subject: [Coldstuff] A couple questions, possibly related. References: <3C691545.11290.125E8B86@localhost> Message-ID: <3C696E15.2020201@cubik.org> talvin@multipro.com wrote: > OK. While working with coldcc, our Site Maintainer says he saw a > reference to 30,000 as a limit. He was not sure if this was 30,000k, > or 30,000 as the top db#, or what. Is there a limit to the database > size? Is it tunable? There's a Cold with a 2.4 gig database, so there isn't a known limit with the dev tree. For the 1.1 release, there is a 2G limit on the DB size. The limit on top db# is the max value for a signed 32 bit integer, or 2.1 billion or so. > Also, "binary database free size". This is showing us around 5.7%, > as opposed to 6.4% for a fresh ColdCore. How is this figured? What > does it mean, and what should we be watching for? This is just the number of 'blocks' in the DB that are free. I usually don't worry too much about it. There's also some explanation of the cold database stuff on: http://agora.cubik.org/wiki/view/Main/ColdMudDatabase although it could probably go into more detail on some of these points. - Bruce From coldstuff@cold.org Tue Feb 12 16:06:38 2002 From: coldstuff@cold.org (Jonathan Ross) Date: Tue, 12 Feb 2002 16:06:38 -0000 Subject: [Coldstuff] A couple questions, possibly related. References: <3C691545.11290.125E8B86@localhost> <3C696E15.2020201@cubik.org> Message-ID: <00af01c1b409$29a59f70$56669e18@vross> Is there any particular reason a signed 32-bit integer was used rather than an unsigned 32-bit integer? --Jonathan Ross ----- Original Message ----- From: "Bruce Mitchener" To: Sent: Tuesday, February 12, 2002 2:33 PM Subject: Re: [Coldstuff] A couple questions, possibly related. > talvin@multipro.com wrote: > > OK. While working with coldcc, our Site Maintainer says he saw a > > reference to 30,000 as a limit. He was not sure if this was 30,000k, > > or 30,000 as the top db#, or what. Is there a limit to the database > > size? Is it tunable? > > There's a Cold with a 2.4 gig database, so there isn't a known limit > with the dev tree. For the 1.1 release, there is a 2G limit on the DB size. > > The limit on top db# is the max value for a signed 32 bit integer, or > 2.1 billion or so. > > > Also, "binary database free size". This is showing us around 5.7%, > > as opposed to 6.4% for a fresh ColdCore. How is this figured? What > > does it mean, and what should we be watching for? > > This is just the number of 'blocks' in the DB that are free. I usually > don't worry too much about it. > > There's also some explanation of the cold database stuff on: > > http://agora.cubik.org/wiki/view/Main/ColdMudDatabase > > although it could probably go into more detail on some of these points. > > - Bruce > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Tue Feb 12 21:17:54 2002 From: coldstuff@cold.org (Bruce Mitchener) Date: Tue, 12 Feb 2002 14:17:54 -0700 Subject: [Coldstuff] A couple questions, possibly related. References: <3C691545.11290.125E8B86@localhost> <3C696E15.2020201@cubik.org> <00af01c1b409$29a59f70$56669e18@vross> Message-ID: <3C698682.9050702@cubik.org> Jonathan Ross wrote: > Is there any particular reason a signed 32-bit integer was used rather > than an unsigned 32-bit integer? Negative object IDs exist and are used for invalid object numbers. Ease of programming possibly. Also, if a MUD needs more than 2 billion objects over time (TEC isn't anywhere close), then it can be dealt with as that time approaches, or move to a 64 bit box and modify Cold to allow objnums to be 64 bit values. Other possibilities exist as well, but to date, no one has run into that limit after years of use. - Bruce From coldstuff@cold.org Tue Feb 12 21:30:03 2002 From: coldstuff@cold.org (Brad Roberts) Date: Tue, 12 Feb 2002 13:30:03 -0800 (PST) Subject: [Coldstuff] A couple questions, possibly related. In-Reply-To: <3C698682.9050702@cubik.org> Message-ID: Given the size of a coldc object on disk, anyone overflowing 2.1 billion objects is going to have one HELL of a huge binary/objects file. Minimum size of an object on disk is 256 bytes. So, 2.1 * 256 * 1.1 (assuming 10% slack, probably too high but work with me here) leads to 591 gig file. If anyone approachs the limit, lemee know. I could use another case study for how well genesis scales. Later, Brad On Tue, 12 Feb 2002, Bruce Mitchener wrote: > Date: Tue, 12 Feb 2002 14:17:54 -0700 > From: Bruce Mitchener > Reply-To: coldstuff@cold.org > To: coldstuff@cold.org > Subject: Re: [Coldstuff] A couple questions, possibly related. > > Jonathan Ross wrote: > > > Is there any particular reason a signed 32-bit integer was used rather > > than an unsigned 32-bit integer? > > > Negative object IDs exist and are used for invalid object numbers. Ease > of programming possibly. Also, if a MUD needs more than 2 billion > objects over time (TEC isn't anywhere close), then it can be dealt with > as that time approaches, or move to a 64 bit box and modify Cold to > allow objnums to be 64 bit values. > > Other possibilities exist as well, but to date, no one has run into that > limit after years of use. > > - Bruce > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Wed Feb 13 01:32:08 2002 From: coldstuff@cold.org (Jon A. Lambert) Date: Tue, 12 Feb 2002 20:32:08 -0500 Subject: [Coldstuff] SQL... In-Reply-To: Message-ID: Brad Roberts wrote: > > While it might be simple to replace the genesis storage layer (of which > gdbm is just a small part, the indexes) with a similar layer that stuffs > the data into a sql server's blobs, that still doesn't give you any sane > mechanism for doing any sort of clustered work. Genesis caches data until > either a checkpoint or a forced cache eviction to load another object. > This means that in the mean time, data is only visible to the process that > has the cached data. The only way to get coherence across multiple > genesis processes accessing the same sql back end would be a distributed > lock manager and some very careful cache invalidations. This enters into > the realm of _highly_non-trivial_ work. Forget the Genesis cache. Insert your SQL replacement at the cache level. Let the RDBMS's cache and lock managers take care of all of it. That too is trivial. Well to me it is, only because I've spent 16 years as a DB2/IRLM systems programmer. But no, I'm not into "advocating" anything of the sort at all. I'm perfectly certain that it won't even perform close to the current configuration. I personally think distributed Genesis servers are not even remotely interesting. And I'm glad the code hasn't been cluttered with that nonsense. However be that as it may, I don't want to discourage experimentation. :-) -- --* Jon A. Lambert - TychoMUD Email:jlsysinc@ix.netcom.com *-- --* Mud Server Developer's Page *-- --* If I had known it was harmless, I would have killed it myself.*-- From coldstuff@cold.org Tue Feb 12 21:16:49 2002 From: coldstuff@cold.org (Jonathan Ross) Date: Tue, 12 Feb 2002 21:16:49 -0000 Subject: [Coldstuff] A couple questions, possibly related. References: <3C691545.11290.125E8B86@localhost> <3C696E15.2020201@cubik.org> <00af01c1b409$29a59f70$56669e18@vross> <3C698682.9050702@cubik.org> Message-ID: <015001c1b434$7e728ce0$56669e18@vross> Invalid object numbers? Well if root is 1 and sys is 2 then why not use 0; personally I've never seen any use of #0 but I may not know the intricacies of Genesis that well. So what value is there in having negative values? Also, as I've stated I don't know the intricacies all that well, but what would happen if you removed the overflow checks from the objnum generation function and just let it coast back on up (after removing invalid object checking). Maybe the real purpose of using int instead of unsigned int is the old saying by Bill Gates, "Who could ever need more than 640k?" --Jonathan Ross PS: I notice I tend to get my mail back from the server after a very long time, sometimes even after I've already gotten a response from someone. Are my posts very slow or is getting my own posts very slow? It's currently (unsigned int)(9:16 EST February 12th 2002). ----- Original Message ----- From: "Bruce Mitchener" To: Sent: Tuesday, February 12, 2002 4:17 PM Subject: Re: [Coldstuff] A couple questions, possibly related. > Jonathan Ross wrote: > > > Is there any particular reason a signed 32-bit integer was used rather > > than an unsigned 32-bit integer? > > > Negative object IDs exist and are used for invalid object numbers. Ease > of programming possibly. Also, if a MUD needs more than 2 billion > objects over time (TEC isn't anywhere close), then it can be dealt with > as that time approaches, or move to a 64 bit box and modify Cold to > allow objnums to be 64 bit values. > > Other possibilities exist as well, but to date, no one has run into that > limit after years of use. > > - Bruce > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Wed Feb 13 02:31:29 2002 From: coldstuff@cold.org (Brad Roberts) Date: Tue, 12 Feb 2002 18:31:29 -0800 (PST) Subject: [Coldstuff] SQL... In-Reply-To: Message-ID: > I'm perfectly certain that it won't even perform close to the current > configuration. I'm ignoring the rest of the post and concentrating one this piece, in case anyone has the desire to try it accidentally. Without the caching, you'd have two basic choices: a) super fine grained and thus the slowest version begin transaction select blob from table where id=objnum for update unserialize change variable/method/whatever tiny piece serialize update table set blob=newblob where id=objnum end transaction b) or less fine grained in vm_task begin transaction for each object_retrieve add to a list of retrieved objects update each as needed until getting to the end of the task traverse the list serializing and updating the db end transaction I have to rule (a) out as just unreasonably slow. In (b), you'd still have a cache of some sort, since objects would stay for at least a short time frame (far far far shorter than in the existing code). I haven't bothered to try b, though I did consider it briefly in a fit of insanity a while back (at least 3 years ago now). I actually did write a sql layer to replace the binarydb and lookup layers, definitely not taking any real advantage of the engine. It wasn't too bad, since the cache still existed to insulate the speed hit. Going back to the original question, I don't know if any of this has actually helped answer the question. None of the stuff presented so far will give genesis or coldcore the magical ability for a user on one instance (assuming that multiple instances is achievable in the first place with any of the proposed sql or binarydb layer changes) to say "hi" to another user connected to another instance since that sort of data isn't passed through the database, its done directly from connection object to connection object in coldcore. Edward, has any of this helped or just confused? If not, can you elaborate on what you're trying to accomplish and guide this discussion a little better? Later, Brad From coldstuff@cold.org Wed Feb 13 03:36:57 2002 From: coldstuff@cold.org (Bruce Mitchener) Date: Tue, 12 Feb 2002 20:36:57 -0700 Subject: [Coldstuff] A couple questions, possibly related. References: <3C691545.11290.125E8B86@localhost> <3C696E15.2020201@cubik.org> <00af01c1b409$29a59f70$56669e18@vross> <3C698682.9050702@cubik.org> <015001c1b434$7e728ce0$56669e18@vross> Message-ID: <3C69DF59.7020501@cubik.org> Jonathan Ross wrote: > Invalid object numbers? Well if root is 1 and sys is 2 then > why not use 0; personally I've never seen any use of #0 but I > may not know the intricacies of Genesis that well. Obviously. :) 0 is used as $sys. > So what value is there in having negative values? Also, as > I've stated I don't know the intricacies all that well, > but what would happen if you removed the overflow checks from > the objnum generation function and just let it coast back on > up (after removing invalid object checking). It is a fast and easy way to identify an object number as being valid or not. I don't know the full reasons for the design decision as they weren't documented at the time (or I haven't seen/found that documentation). > Maybe the real purpose of using int instead of unsigned int is > the old saying by Bill Gates, "Who could ever need more than > 640k?" Please. First, read what I said below. No one, in years of usage has come close to this limit, with constant usage. I don't think even TEC is over #30000000 (that's 30 million). tCD is under 2 million (although it has probably been reset many times by recompiles), and another Cold that I'm on is under 80,000. Creating 1 object per second would take over 68 years to get to tee current limit. This is ignoring all of the other logical reasons why this isn't a major concern at present. (Like the memory usage required to run a system with that many objects likely not being workable in a 32bit environment, or the amount of disk space needed, or if the shortage of object numbers was due to a high rate of decay, the fact that a recompile would recover many of the object numbers.) Finally, doubling the amount of possible object numbers by moving to an unsigned value (only 4 billion or so), isn't a real fix and has not substantial benefit over the current situation. A real fix, should this ever be a problem for someone, would be to shift the cObjnum typedef to being a 64 bit value and then fixing all of the bugs that that causes. I don't foresee needing to do this work for a long, long time, if ever. - Bruce >> Negative object IDs exist and are used for invalid object >> numbers. Ease of programming possibly. Also, if a MUD >> needs more than 2 billion objects over time (TEC isn't >> anywhere close), then it can be dealt with as that time >> approaches, or move to a 64 bit box and modify Cold to >> allow objnums to be 64 bit values. >> >> Other possibilities exist as well, but to date, no one has >> run into that limit after years of use. From coldstuff@cold.org Wed Feb 13 04:30:52 2002 From: coldstuff@cold.org (Jon A. Lambert) Date: Tue, 12 Feb 2002 23:30:52 -0500 Subject: [Coldstuff] SQL... In-Reply-To: Message-ID: Brad Roberts wrote: > > I have to rule (a) out as just unreasonably slow. In (b), you'd still have > a cache of some sort, since objects would stay for at least a short > time frame (far far far shorter than in the existing code). I haven't > bothered to try b, though I did consider it briefly in a fit of insanity a > while back (at least 3 years ago now). I actually did write a sql layer to > replace the binarydb and lookup layers, definitely not taking any real > advantage of the engine. It wasn't too bad, since the cache still existed > to insulate the speed hit. Nods. There are reasons to do it and take the performance hit. Reliability, transactional logging, rollback, and recovery, ease of archival. It could also be done to get around some NDBM/GDM limitations. But then as Bruce said even TEC hasn't really run up against these. A lot depends on the RDBMS, as all are not created equal. You may know, but Edward may not, that these same SQL experiments have been done with Mush, LambaMOO and with Coolmud with similar performance results to yours. > Going back to the original question, I don't know if any of this has > actually helped answer the question. None of the stuff presented so far > will give genesis or coldcore the magical ability for a user on one > instance (assuming that multiple instances is achievable in the first > place with any of the proposed sql or binarydb layer changes) to say "hi" > to another user connected to another instance since that sort of data > isn't passed through the database, its done directly from connection > object to connection object in coldcore. Again I agree. You can use distributed database servers as a backend but this doesn't give you a truely distributed mud server like Coolmud's YO protocol did (despite all it's warts). Distribution is great for applications that have loose functional coupling. Finding that within say the ColdDark core or desiging a core with that in mind ain't easy. One thing that does come to mind focusing on ColdDark is distributing the Help or Web services. It is worth it? Probably not. But that's assuming that all the users of Genesis are designing mud worlds. -- --* Jon A. Lambert - TychoMUD Email:jlsysinc@ix.netcom.com *-- --* Mud Server Developer's Page *-- --* If I had known it was harmless, I would have killed it myself.*-- From coldstuff@cold.org Thu Feb 14 02:23:28 2002 From: coldstuff@cold.org (coldstuff@cold.org) Date: Wed, 13 Feb 2002 21:23:28 -0500 Subject: [Coldstuff] Command Overrides References: Message-ID: <000b01c1b4fe$96fa3f40$9900a8c0@alpha> So I was thinking tonight about command overrides, and how they functioned in the last environment I worked in, and how to implemented them in my current environment. Here's an example of that I mean. If a user types "get cookie from table" it calls upon the $body.get_from_cmd "get|take from " $body.get_from_cmd But what if I made a new descendat of $location called $tray, and I made $tray.get_from_cmd that I wanted to be called instead of $body.get_from_cmd when someone tries to take something from a $tray or one of its descendants. Can I simply @ac the following: "get|take from " $tray.get_from_cmd or is there a better way to do that? Also, what is the best way to do it for a specific object, say $thing_23, as opposed to a parent object that will have many children. You know, you try to 'get' a ball ($thing_23) and instead of you picking it up, it rolls away. Any help is appreciated in advance. Jon From coldstuff@cold.org Fri Feb 15 20:45:52 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Fri, 15 Feb 2002 13:45:52 -0700 Subject: [Coldstuff] Command Overrides In-Reply-To: <000b01c1b4fe$96fa3f40$9900a8c0@alpha>; from jon@enter.net on Wed, Feb 13, 2002 at 09:23:28PM -0500 References: <000b01c1b4fe$96fa3f40$9900a8c0@alpha> Message-ID: <20020215134551.A26782@mojo.cold.org> On Wed, Feb 13, 2002 at 09:23:28PM -0500, jon@enter.net wrote: > So I was thinking tonight about command overrides, and how they functioned > in the last environment I worked in, and how to implemented them in my > current environment. Here's an example of that I mean. > > If a user types "get cookie from table" it calls upon the $body.get_from_cmd > "get|take from " $body.get_from_cmd > > But what if I made a new descendat of $location called $tray, and I made > $tray.get_from_cmd that I wanted to be called instead of $body.get_from_cmd > when someone tries to take something from a $tray or one of its descendants. > Can I simply @ac the following: > > "get|take from " $tray.get_from_cmd > > or is there a better way to do that? Also, what is the best way to do it for > a specific object, say $thing_23, as opposed to a parent object that will > have many children. You know, you try to 'get' a ball ($thing_23) and > instead of you picking it up, it rolls away. The order for commands in ColdCore is currently: 1. user shortcuts 2. user local commands 3. location shortcuts 4. location local commands 5. any remote command 6. exits (this can be seen in $command_parser.parse) Originally, the parser was supposed to take the 'best' match, but I'm not sure if it is doing that currently. It does take the best match within a subscope--that is at each step of the way if multiple matches are found it'll take the best of the set. So in step 2 if there are three user commands which match it'll take the best of the three. But it will not take a remote command if it matches better than the user commands. This could be improved upon. As for your problem, the initial reaction would be to say to add: "get|take from " to $try.get_from_cmd This makes it a remote command, rather than a local command (the part does). However, it will conflict with the command on $body, and since it is a local command it'll get called first (it is found in step #2). Frankly, the body command is in the wrong place, and should instead be on $thing--I recall putting it on body for a reason, however... probably thing frobs, they broke a bunch of stuff... -Brandon From coldstuff@cold.org Fri Feb 15 23:20:27 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Fri, 15 Feb 2002 16:20:27 -0700 Subject: [Coldstuff] Environment list and recursive locations... Message-ID: <20020215162027.B27624@mojo.cold.org> Ok, I decided to tackle fixing some of the located location issues (i.e. a location of a couch in a location of a room, etc). I thought about this years ago (1995 or so) and cannot recall ANYTHING from back then, so I'm starting over. I'd appreciate some input on how other muds handle this, because frankly I can't even recall how MOO does it anymore... I have three variants, based on a little hacking I just did... All of the timings come from the same room on the same hardware, and are relative only to themselves... 1-- Current ColdCore configuration... This configuration is very minimal... the environment has no concept of located locations. It is just a list of anything you are holding or which is in the room you are in (so you could address the couch in the room you are in, but nobody on the couch in the room...). This takes approximately 0.000086 to generate an environment list... 2-- Open-ended configuration This allows for any object within the context of the environment to add-to the list as it is being generated. This way a couch could also inject everybody sitting on the couch, etc. It uses a dictionary to avoid loops and replication. However, it is also very slow, time is approximately 0.001234 in the same room. 3-- $located_locations only This goes back to the original code and just hacks in a check for located locations, and if the target object is a located location it then injects that object's contens. It takes 0.000318 seconds. So the issue is--stick with a non extensible mechanism like #3, but which is faster, or go with an extensible mechanism like #2 and just take the performance bump (is it really that big of a deal?). Nice thing about #2 is it allows for things like an object to be able to inject a detail into the environment, without having to either make it be a real object or have it be a located_location. Of course, one could argue against that, in that all addressable objects in the environment should be $things, and all located locations should be $located_locations, thus making it a non-issue... Let me know which would be preferrable... -Brandon From coldstuff@cold.org Fri Feb 15 23:23:04 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Fri, 15 Feb 2002 16:23:04 -0700 Subject: [Coldstuff] Environment list and recursive locations... In-Reply-To: <20020215162027.B27624@mojo.cold.org>; from brandon@roguetrader.com on Fri, Feb 15, 2002 at 04:20:27PM -0700 References: <20020215162027.B27624@mojo.cold.org> Message-ID: <20020215162304.A27699@mojo.cold.org> For kicks and grins I am including the code for the two variants... Perhaps somebody can come up with a faster way of doing #2... ------------ #2 style @program $foundation._environment2 arg e; return #[[this(),1]]; . @program $location._environment2() +access=pub arg e; var o,i; e = pass(e); for o in (.contents()) { if (!dict_contains(e,o)) { e = dict_union(e,o._environment2(e)); } } return e; . @program $located._environment2() +access=pub arg e; e = dict_union(e, pass(e)); if (!dict_contains(e, location)) { return dict_union(e, location._environment2(e)); } return e; . @program $foundation.environment2 return dict_keys(._environment2(#[])); . ------------ #3 style @program $foundation.environment3() +access=pub return []; . @program $location.environment3() +access=pub var o, e; e = [this()]; for o in (.contents()) { if (o.has_ancestor($located_location)) { e += o.contents(); } e += [o]; } return e; . @program $located.environment3() +access=pub var o, e; return [this()] + setremove(location.environment3(), this()); . From coldstuff@cold.org Fri Feb 15 23:35:40 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Fri, 15 Feb 2002 16:35:40 -0700 Subject: [Coldstuff] Command Overrides In-Reply-To: <000c01c1b66d$e9f606f0$9900a8c0@alpha>; from jon@enter.net on Fri, Feb 15, 2002 at 05:12:53PM -0500 References: <000b01c1b4fe$96fa3f40$9900a8c0@alpha> <20020215134551.A26782@mojo.cold.org> <000c01c1b66d$e9f606f0$9900a8c0@alpha> Message-ID: <20020215163540.B27699@mojo.cold.org> On Fri, Feb 15, 2002 at 05:12:53PM -0500, jon@enter.net wrote: > Thank you for this information. Not to sound like a complete dolt, but is it > your recommendation to reorder the way commands are parsed, or was that just > general information? > > In the last game I coded for, they put checks for remote commands inside the > local commands, something like the following was found within > $body.get_from_cmd before any of the normal functions of that method were > processed. > > if ((rval = (| loc.get_from_cmd(sender(), args) |)) == -1) > return; > > And then the $tray would have its own $tray.get_from_cmd that returned -1 > when it was finished running. > > Right now, I'm just considering options, trying to find the best way to > proceed. I wouldn't reorder it without some serious consideration first. The best thing to do would be to address the 'best match' feature of the parser and extend its scope to also include remote commands at all steps--not necessarily just preempt all local commands when a remote command is matched... However, to fix your immediate problem, I have actually just finished rewriting get|take :) Checkout $thing.get_cmd, $thing._get and $location.get_from_cmd on the Cold Dark. -Brandon From coldstuff@cold.org Sat Feb 16 02:32:07 2002 From: coldstuff@cold.org (David Clifton) Date: Fri, 15 Feb 2002 21:32:07 -0500 (EST) Subject: [Coldstuff] Environment list and recursive locations... Message-ID: <766200.1013826727806.JavaMail.dmc0301@mail.widener.edu> ------=_Part_0_6407079.1013826727684 Content-Type: text/plain Content-Transfer-Encoding: 7bit Just to throw in, MOO doesn't bother, so to speak...people who have like, say, a couch in a room and want people to interact with stuff in the room do one of two things. A) they use virtual seats, like those implemented by rat/Rk on Baymoo...I've seen those all over the place in a modified room class. Or they code a special object for the purposes, and modify such things as the :announce, :announce_all etc on it to output to the room, and the :tell on it, which is called to all things in a room when something is announced, tells the people in the couch or what have you...object interaction can be done similarly, by wrapping get take and such in the room, as the rooms are actually very high in MOO for command interpretation...higher than player, I believe....but it has been a bit, I might be wrong on this. I haven't tested in awhile. David Clifton --------------------------------------- Original Email From: Brandon Gillespie Sent: Feb 15, 2002 06:23 PM To: coldstuff@cold.org Subject: Re: [Coldstuff] Environment list and recursive locations... For kicks and grins I am including the code for the two variants... Perhaps somebody can come up with a faster way of doing #2... ------------ #2 style @program $foundation._environment2 arg e; return #[[this(),1]]; . @program $location._environment2() +access=pub arg e; var o,i; e = pass(e); for o in (.contents()) { if (!dict_contains(e,o)) { e = dict_union(e,o._environment2(e)); } } return e; . @program $located._environment2() +access=pub arg e; e = dict_union(e, pass(e)); if (!dict_contains(e, location)) { return dict_union(e, location._environment2(e)); } return e; . @program $foundation.environment2 return dict_keys(._environment2(#[])); . ------------ #3 style @program $foundation.environment3() +access=pub return []; . @program $location.environment3() +access=pub var o, e; e = [this()]; for o in (.contents()) { if (o.has_ancestor($located_location)) { e += o.contents(); } e += [o]; } return e; . @program $located.environment3() +access=pub var o, e; return [this()] + setremove(location.environment3(), this()); . _______________________________________________ Cold-Coldstuff mailing list Cold-Coldstuff@cold.org http://web.cold.org/mailman/listinfo/cold-coldstuff ------=_Part_0_6407079.1013826727684-- From coldstuff@cold.org Mon Feb 18 05:36:05 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Sun, 17 Feb 2002 21:36:05 -0800 (PST) Subject: [Coldstuff] Environment list and recursive locations... In-Reply-To: <20020215162027.B27624@mojo.cold.org> Message-ID: <20020218053605.31656.qmail@web14501.mail.yahoo.com> The performance hit isn't enough to slow anything down significantly I don't think either, I'd like to see the second one. :D Jonathan --- Brandon Gillespie wrote: > Ok, I decided to tackle fixing some of the located > location issues > (i.e. a location of a couch in a location of a room, > etc). I thought > about this years ago (1995 or so) and cannot recall > ANYTHING from back > then, so I'm starting over. I'd appreciate some > input on how other > muds handle this, because frankly I can't even > recall how MOO does it > anymore... > > I have three variants, based on a little hacking I > just did... All of > the timings come from the same room on the same > hardware, and are > relative only to themselves... > > 1-- Current ColdCore configuration... > > This configuration is very minimal... the > environment has no concept > of located locations. It is just a list of > anything you are holding > or which is in the room you are in (so you could > address the couch in > the room you are in, but nobody on the couch in > the room...). > > This takes approximately 0.000086 to generate an > environment list... > > 2-- Open-ended configuration > > This allows for any object within the context of > the environment to > add-to the list as it is being generated. This > way a couch could also > inject everybody sitting on the couch, etc. It > uses a dictionary to > avoid loops and replication. However, it is also > very slow, time is > approximately 0.001234 in the same room. > > 3-- $located_locations only > > This goes back to the original code and just > hacks in a check for > located locations, and if the target object is a > located location it > then injects that object's contens. It takes > 0.000318 seconds. > > So the issue is--stick with a non extensible > mechanism like #3, but > which is faster, or go with an extensible mechanism > like #2 and just > take the performance bump (is it really that big of > a deal?). Nice > thing about #2 is it allows for things like an > object to be able to > inject a detail into the environment, without having > to either make it > be a real object or have it be a located_location. > Of course, one > could argue against that, in that all addressable > objects in the > environment should be $things, and all located > locations should be > $located_locations, thus making it a non-issue... > > Let me know which would be preferrable... > > -Brandon > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Mon Feb 18 05:44:02 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Sun, 17 Feb 2002 21:44:02 -0800 (PST) Subject: [Coldstuff] Environment list and recursive locations... In-Reply-To: <20020218053605.31656.qmail@web14501.mail.yahoo.com> Message-ID: <20020218054402.32909.qmail@web14501.mail.yahoo.com> Sorry I didn't give more input previously. We add all objects seen as objects maybe not visible but you can look at them for a more indepth description. If this could be tied into the room itself I'm sure it would save space in the DB. Jonathan > --- Brandon Gillespie > wrote: > > Ok, I decided to tackle fixing some of the located > > location issues > > (i.e. a location of a couch in a location of a > room, > > etc). I thought > > about this years ago (1995 or so) and cannot > recall > > ANYTHING from back > > then, so I'm starting over. I'd appreciate some > > input on how other > > muds handle this, because frankly I can't even > > recall how MOO does it > > anymore... > > > > I have three variants, based on a little hacking I > > just did... All of > > the timings come from the same room on the same > > hardware, and are > > relative only to themselves... > > > > 1-- Current ColdCore configuration... > > > > This configuration is very minimal... the > > environment has no concept > > of located locations. It is just a list of > > anything you are holding > > or which is in the room you are in (so you > could > > address the couch in > > the room you are in, but nobody on the couch in > > the room...). > > > > This takes approximately 0.000086 to generate > an > > environment list... > > > > 2-- Open-ended configuration > > > > This allows for any object within the context > of > > the environment to > > add-to the list as it is being generated. This > > way a couch could also > > inject everybody sitting on the couch, etc. It > > uses a dictionary to > > avoid loops and replication. However, it is > also > > very slow, time is > > approximately 0.001234 in the same room. > > > > 3-- $located_locations only > > > > This goes back to the original code and just > > hacks in a check for > > located locations, and if the target object is > a > > located location it > > then injects that object's contens. It takes > > 0.000318 seconds. > > > > So the issue is--stick with a non extensible > > mechanism like #3, but > > which is faster, or go with an extensible > mechanism > > like #2 and just > > take the performance bump (is it really that big > of > > a deal?). Nice > > thing about #2 is it allows for things like an > > object to be able to > > inject a detail into the environment, without > having > > to either make it > > be a real object or have it be a located_location. > > > Of course, one > > could argue against that, in that all addressable > > objects in the > > environment should be $things, and all located > > locations should be > > $located_locations, thus making it a non-issue... > > > > Let me know which would be preferrable... > > > > -Brandon > > > > _______________________________________________ > > Cold-Coldstuff mailing list > > Cold-Coldstuff@cold.org > > > http://web.cold.org/mailman/listinfo/cold-coldstuff > > > __________________________________________________ > Do You Yahoo!? > Yahoo! Sports - Coverage of the 2002 Olympic Games > http://sports.yahoo.com > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Tue Feb 19 04:20:09 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Mon, 18 Feb 2002 20:20:09 -0800 (PST) Subject: [Coldstuff] DB backup issues when compressed... Message-ID: <20020219042009.68946.qmail@web14507.mail.yahoo.com> Ok.. I've gotten myself into somewhat of a problem. Recently I created my own backup script as part of a shell script and I scheduled the backup to run every hour and to reschedule itself every day... On to the problem... Last thursday Genesis stopped running on my server for some reason or another, and as you probably well know if it doesn't close properly the DB will be corrupted which it was. I got on the server and attempted to restore the most recent backup (only 20 minutes old) and it appeared to restore properly from the console. Fired up Genesis and got the "Corrupt Binary Database" error message. My script compresses the /cold/binary.bak folder. The command I used was tar -czf /cold/backups/BU.$(date...) /cold/binary.bak then I have it clean out the binary.bak folder so that it will create a completely new backup every time. Large but thorough so I thought. I am unable to decompress any of over 20 backups I made. I try doing it in KDE and get an error - The process for the tar protocol died unexpectedly and objects never decompresses, only index.pag and index.dir with objects.part as 0 bytes. Any Suggestions? I don't want to lose any more than I absolutely *have* to. As I am going to rewrite it again and say nevermind on the compression, I'll just use a CDRW every week or so rotating them monthly. ;) Jonathan Aeternity __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Tue Feb 19 04:28:32 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Mon, 18 Feb 2002 20:28:32 -0800 (PST) Subject: [Coldstuff] Random Questions Message-ID: <20020219042832.12096.qmail@web14502.mail.yahoo.com> Another note, I've got a few misc. questions... 1. What platforms does "Cold" program using? ie the developers of the initial Genesis, coldcc... 2. Is anyone currently running Genesis on a Windows 2000 Server? if so are you having any issues? 3. I haven't looked too much at the backup script that has been previously done, I did mine in just a few hours, minutes after I figured out how to get the datestamp on it. Is there an option to do both binary and text at the same time? Is there an automated way of testing it in the script yet? (I'll probably have another server pick the backup up and do extensive testing on it. I'm tired of losing data from little things going wrong like power outages and such.) 4. Is there a way to look at a "binary" DB and edit it, or get parts of it to decompile to a textdump file? Jonathan Aeternity look $user_Khepri You see Khepri Manet, growing wiser with every mistake. __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Tue Feb 19 04:37:49 2002 From: coldstuff@cold.org (Jonathan Ross) Date: Mon, 18 Feb 2002 23:37:49 -0500 Subject: [Coldstuff] Random Questions References: <20020219042832.12096.qmail@web14502.mail.yahoo.com> Message-ID: <035201c1b8ff$2f8b63c0$56669e18@vross> ----- Original Message ----- From: "Jonathan Robertson" To: Sent: Monday, February 18, 2002 11:28 PM Subject: [Coldstuff] Random Questions > Another note, I've got a few misc. questions... > > 1. What platforms does "Cold" program using? ie the > developers of the initial Genesis, coldcc... Not sure what you mean by that. > 2. Is anyone currently running Genesis on a Windows > 2000 Server? if so are you having any issues? I ran one for a while on Win2k Profetional, the only issue I had was not all of the functions/natives methods are fully or even partially implemented. Over all though it performs well and is just as stable as far as I can tell. > 3. I haven't looked too much at the backup script that > has been previously done, I did mine in just a few > hours, minutes after I figured out how to get the > datestamp on it. Is there an option to do both binary > and text at the same time? Is there an automated way > of testing it in the script yet? (I'll probably have > another server pick the backup up and do extensive > testing on it. I'm tired of losing data from little > things going wrong like power outages and such.) Not my area... I'm sure someone else will answer that. > 4. Is there a way to look at a "binary" DB and edit > it, or get parts of it to decompile to a textdump > file? I think what you want is described on the following page under the Compiling/Decompiling a database section; unless you literally meant "parts." http://web.cold.org/genesis/docs/ > Jonathan > Aeternity > I thought you guys at Aeternity were using LPC :) How's everything going, and is this Aephir? > > __________________________________________________ > Do You Yahoo!? > Yahoo! Sports - Coverage of the 2002 Olympic Games > http://sports.yahoo.com > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Tue Feb 19 04:58:13 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Mon, 18 Feb 2002 21:58:13 -0700 Subject: [Coldstuff] DB backup issues when compressed... In-Reply-To: <20020219042009.68946.qmail@web14507.mail.yahoo.com>; from jwr_trumpet@yahoo.com on Mon, Feb 18, 2002 at 08:20:09PM -0800 References: <20020219042009.68946.qmail@web14507.mail.yahoo.com> Message-ID: <20020218215813.A23478@mojo.cold.org> On Mon, Feb 18, 2002 at 08:20:09PM -0800, Jonathan Robertson wrote: > Ok.. I've gotten myself into somewhat of a problem. > Recently I created my own backup script as part of a > shell script and I scheduled the backup to run every > hour and to reschedule itself every day... On to the > problem... > > Last thursday Genesis stopped running on my server for > some reason or another, and as you probably well know > if it doesn't close properly the DB will be corrupted > which it was. I got on the server and attempted to > restore the most recent backup (only 20 minutes old) > and it appeared to restore properly from the console. > Fired up Genesis and got the "Corrupt Binary Database" > error message. Most likely the backup itself wasn't marked as clean... there is a way to cheat genesis (but it isn't necessarily stable) by copying the .clean file from a good binary db into the one genesis is claiming is 'corrupted'... Basically, it isn't really doing any checksums or anything, just looking for the .clean file. If you do that, I'd recommend copying in the .clean file, running a decompile and then a recompile. > My script compresses the > /cold/binary.bak folder. The command I used was > > tar -czf /cold/backups/BU.$(date...) /cold/binary.bak Perhaps you did it before genesis was done backing it up? > Any Suggestions? I don't want to lose any more than I > absolutely *have* to. As I am going to rewrite it > again and say nevermind on the compression, I'll just > use a CDRW every week or so rotating them monthly. ;) Use the backup2 script (included with the latest coldcore put out a few weeks ago, but not before then). This script decompiles to text for a few reasons: 1-Its more portable/archivable 2-It Emails an admin if it cannot decompile the DB (so you know immediately if there is a problem) 3-It avoids stacking lots of corrupted backups, or is less likely to, because it'll email the admin As for backing up both... I dont see why you would want to do this? The Binary database is a non-portable run-time format used only for the execution of the current server, it isn't re-usable between OSes, server versions, or even recompiles with alternate opcodes--without first doing a decompile/recompile with coldcc. > 1. What platforms does "Cold" program using? ie the > developers of the initial Genesis, coldcc... unix in general is ok. > 2. Is anyone currently running Genesis on a Windows > 2000 Server? if so are you having any issues? Some people do... my personal main concern would be signal handling... I dont think it would be a problem to use it in personal development, but I'd never run it as a server under Win32--primarily because its not its native platform. > 4. Is there a way to look at a "binary" DB and edit it, > or get parts of it to decompile to a textdump file? yes, you can mangle the snot out of a binarydb using the 'coldcc -p' (patch) argument. It uses the exact same syntax as a textdump but rather than create a new db, it opens an existing one. Just remember to not use 'new' because that'll blast the existing object, if there is one (i.e. new object $root bad, just do 'object $root' to load the root object). >From there use 'eval' which is like a non-method: eval { ColdC code }; Checkout the test suite to see some extensive uses of eval. As for decompiling only parts of it, no luck there... it is all or nothing. I had considered back in the day having an exclude/include argument to coldcc, where you could give it object numbers to skip (for the cases where the db is corrupted) or only decompile (for the cases where you just want to dump one object). Feel free to dig into textdb.c and add it as an option, I'm sure Bruce wouldn't mind the patch :) -Brandon From coldstuff@cold.org Tue Feb 19 05:20:59 2002 From: coldstuff@cold.org (Brad Roberts) Date: Mon, 18 Feb 2002 21:20:59 -0800 (PST) Subject: [Coldstuff] DB backup issues when compressed... In-Reply-To: <20020218215813.A23478@mojo.cold.org> Message-ID: On Mon, 18 Feb 2002, Brandon Gillespie wrote: > On Mon, Feb 18, 2002 at 08:20:09PM -0800, Jonathan Robertson wrote: > > Ok.. I've gotten myself into somewhat of a problem. > > Recently I created my own backup script as part of a > > shell script and I scheduled the backup to run every > > hour and to reschedule itself every day... On to the > > problem... > > > > Last thursday Genesis stopped running on my server for > > some reason or another, and as you probably well know > > if it doesn't close properly the DB will be corrupted > > which it was. I got on the server and attempted to > > restore the most recent backup (only 20 minutes old) > > and it appeared to restore properly from the console. > > Fired up Genesis and got the "Corrupt Binary Database" > > error message. > > Most likely the backup itself wasn't marked as clean... there is a way > to cheat genesis (but it isn't necessarily stable) by copying the > .clean file from a good binary db into the one genesis is claiming is > 'corrupted'... Basically, it isn't really doing any checksums or > anything, just looking for the .clean file. > > If you do that, I'd recommend copying in the .clean file, running a > decompile and then a recompile. As always when experimenting with untried stuff, make a copy of the binary directory before you play around. What Brandon suggests is safe, but when you've only got one copy of the file like you do right now, its a good idea to have a fallback. > > My script compresses the > > /cold/binary.bak folder. The command I used was > > > > tar -czf /cold/backups/BU.$(date...) /cold/binary.bak > > Perhaps you did it before genesis was done backing it up? Is the backup script being executed from $sys.backup_done or from some external event like cron? Its hard to tell from the original email. > > 4. Is there a way to look at a "binary" DB and edit it, > > or get parts of it to decompile to a textdump file? > yes, you can mangle the snot out of a binarydb using the 'coldcc -p' > (patch) argument. It uses the exact same syntax as a textdump but > rather than create a new db, it opens an existing one. Just remember > to not use 'new' because that'll blast the existing object, if there > is one (i.e. new object $root bad, just do 'object $root' to load the > root object). > > >From there use 'eval' which is like a non-method: > > eval { > ColdC code > }; > > Checkout the test suite to see some extensive uses of eval. > > As for decompiling only parts of it, no luck there... it is all or > nothing. I had considered back in the day having an exclude/include > argument to coldcc, where you could give it object numbers to skip > (for the cases where the db is corrupted) or only decompile (for the > cases where you just want to dump one object). Feel free to dig into > textdb.c and add it as an option, I'm sure Bruce wouldn't mind the > patch :) Much like my comment for the copied .clean file.. before performing this sort of task on your binary file, since its a rather low level and operator beware sort of task, do make a copy of the binary dir, just to be safe. As to coldcc patches, sure.. the more crash recovery features the better. This past weekend I added the ability to dump a single object to facilitate recovery of a corrupted binary file. I'm still working on a more useful version of this patch though as its just /way/ to slow to call coldcc for each object. The bottom line is that backups are the right answer, but at times, heroic recovery efforts are called for. If dropping the .clean file in there doesn't do the trick, ask for more help. Later, Brad From coldstuff@cold.org Tue Feb 19 07:52:11 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Mon, 18 Feb 2002 23:52:11 -0800 (PST) Subject: [Coldstuff] Random Questions In-Reply-To: <035201c1b8ff$2f8b63c0$56669e18@vross> Message-ID: <20020219075211.44037.qmail@web14502.mail.yahoo.com> Hey, Actually I'm rather new to AE compared to Aephir, I've only been with them for about 6-8 months right now. I know several things were looked at but currently we are using Genesis 1.1.10. Thanks for such a quick response. Jonathan --- Jonathan Ross wrote: > > ----- Original Message ----- > From: "Jonathan Robertson" > To: > Sent: Monday, February 18, 2002 11:28 PM > Subject: [Coldstuff] Random Questions > > > > Another note, I've got a few misc. questions... > > > > 1. What platforms does "Cold" program using? ie > the > > developers of the initial Genesis, coldcc... > > Not sure what you mean by that. > > > 2. Is anyone currently running Genesis on a > Windows > > 2000 Server? if so are you having any issues? > > I ran one for a while on Win2k Profetional, the > only issue I had was not > all of the functions/natives methods are fully or > even partially > implemented. Over all though it performs well and > is just as stable as far > as I can tell. > > > 3. I haven't looked too much at the backup script > that > > has been previously done, I did mine in just a few > > hours, minutes after I figured out how to get the > > datestamp on it. Is there an option to do both > binary > > and text at the same time? Is there an automated > way > > of testing it in the script yet? (I'll probably > have > > another server pick the backup up and do extensive > > testing on it. I'm tired of losing data from > little > > things going wrong like power outages and such.) > > Not my area... I'm sure someone else will answer > that. > > > 4. Is there a way to look at a "binary" DB and > edit > > it, or get parts of it to decompile to a textdump > > file? > > I think what you want is described on the > following page under the > Compiling/Decompiling a database section; unless you > literally meant > "parts." > > http://web.cold.org/genesis/docs/ > > > Jonathan > > Aeternity > > > > I thought you guys at Aeternity were using LPC > :) How's everything > going, and is this Aephir? > > > > > __________________________________________________ > > Do You Yahoo!? > > Yahoo! Sports - Coverage of the 2002 Olympic Games > > http://sports.yahoo.com > > _______________________________________________ > > Cold-Coldstuff mailing list > > Cold-Coldstuff@cold.org > > > http://web.cold.org/mailman/listinfo/cold-coldstuff > > > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Tue Feb 19 07:59:20 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Mon, 18 Feb 2002 23:59:20 -0800 (PST) Subject: [Coldstuff] DB backup issues when compressed... In-Reply-To: Message-ID: <20020219075920.98682.qmail@web14507.mail.yahoo.com> Wow! Ok, my script was using the AT scheduler. I was going to look into doing it with CROND or from inside the core, but right now I just need to get the core back up. Thanks for such a quick reply! Jonathan > > Perhaps you did it before genesis was done backing > it up? > > Is the backup script being executed from > $sys.backup_done or from some > external event like cron? Its hard to tell from the > original email. __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Tue Feb 19 08:05:50 2002 From: coldstuff@cold.org (Brad Roberts) Date: Tue, 19 Feb 2002 00:05:50 -0800 (PST) Subject: [Coldstuff] DB backup issues when compressed... In-Reply-To: <20020219075920.98682.qmail@web14507.mail.yahoo.com> Message-ID: Ok.. that's a big part of your problem. Don't use an external tool to schedule your backups. Trigger the execution of it from $sys.backup_done(). See coldcore for an example of how it can be done. Later, Brad On Mon, 18 Feb 2002, Jonathan Robertson wrote: > Date: Mon, 18 Feb 2002 23:59:20 -0800 (PST) > From: Jonathan Robertson > Reply-To: coldstuff@cold.org > To: coldstuff@cold.org > Subject: Re: [Coldstuff] DB backup issues when compressed... > > Wow! > > Ok, my script was using the AT scheduler. I was going > to look into doing it with CROND or from inside the > core, but right now I just need to get the core back > up. > > Thanks for such a quick reply! > Jonathan > > > > Perhaps you did it before genesis was done backing > > it up? > > > > Is the backup script being executed from > > $sys.backup_done or from some > > external event like cron? Its hard to tell from the > > original email. > > > > __________________________________________________ > Do You Yahoo!? > Yahoo! Sports - Coverage of the 2002 Olympic Games > http://sports.yahoo.com > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Tue Feb 19 08:40:36 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Tue, 19 Feb 2002 00:40:36 -0800 (PST) Subject: [Coldstuff] DB backup issues when compressed... In-Reply-To: Message-ID: <20020219084036.51340.qmail@web14503.mail.yahoo.com> Thanks for the quick reply, the core's back up and running now. The next few days will be implementing the backup system. I've already configured the files, just have to get it started and clean up my mess ::ducks:: I know where I'll be coming with questions quicker next time. Jonathan Aeternity look $user_khepri You see Khepri Manet, learning from his major mistakes. __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Tue Feb 19 08:46:35 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Tue, 19 Feb 2002 00:46:35 -0800 (PST) Subject: [Coldstuff] Network questions Message-ID: <20020219084635.54649.qmail@web14510.mail.yahoo.com> Ok Genesis Gods. One last quick question for you I'm sure. I'm running slackware, currently 2.2.19 kernel. If I setup my ipchains to block everything but port 1138 nobody can log in and occasionally there would be a very small amount of data that went across another port. I don't remember which port but I could find out if I need to. And do you have any recommendations on a firewall for the server the core is running on? I plan on putting it behind what was previously called VelociRaptor, now Symantec Enterprise Firewall Appliance, but until then... just want to keep it as secure as possible. Jonathan Aeternity "I can see clearly now, the brains are gone." __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Tue Feb 19 15:44:23 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Tue, 19 Feb 2002 08:44:23 -0700 Subject: [Coldstuff] DB backup issues when compressed... In-Reply-To: ; from braddr@puremagic.com on Tue, Feb 19, 2002 at 12:05:50AM -0800 References: <20020219075920.98682.qmail@web14507.mail.yahoo.com> Message-ID: <20020219084423.A27384@mojo.cold.org> On Tue, Feb 19, 2002 at 12:05:50AM -0800, Brad Roberts wrote: > Ok.. that's a big part of your problem. Don't use an external tool to > schedule your backups. Trigger the execution of it from > $sys.backup_done(). See coldcore for an example of how it can be done. Back when I was more involved in the driver I had seriously considered adding a locking mechanism of some sort, to try and avoid having coldcc run at the same time genesis is fiddling with the db. We see it time and time again where somebody gets a corrupted db because of it... it may be a worthwhile feature to add, just another .file in the binary directory, or some such...if it exists, neither genesis or coldcc will open the database (and of course they open it if they open the db). And paralell to that, I recall wanting to add an argument to coldcc where it just forces a new clean file into the binary directory... -Brandon From coldstuff@cold.org Tue Feb 19 15:57:31 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Tue, 19 Feb 2002 08:57:31 -0700 Subject: [Coldstuff] Network questions In-Reply-To: <20020219084635.54649.qmail@web14510.mail.yahoo.com>; from jwr_trumpet@yahoo.com on Tue, Feb 19, 2002 at 12:46:35AM -0800 References: <20020219084635.54649.qmail@web14510.mail.yahoo.com> Message-ID: <20020219085731.B27384@mojo.cold.org> On Tue, Feb 19, 2002 at 12:46:35AM -0800, Jonathan Robertson wrote: > Ok Genesis Gods. > > One last quick question for you I'm sure. I'm running > slackware, currently 2.2.19 kernel. If I setup my > ipchains to block everything but port 1138 nobody can > log in and occasionally there would be a very small > amount of data that went across another port. I don't > remember which port but I could find out if I need to. > And do you have any recommendations on a firewall for > the server the core is running on? I plan on putting > it behind what was previously called VelociRaptor, now > Symantec Enterprise Firewall Appliance, but until > then... just want to keep it as secure as possible. ohhhh, firewalls (rubs hands mischeviously) Ipchains/iptable/whatever is a PITA, even if you do know how firewalls behave. You are probably running into their bizarre handling of multiple chains (input/output/forwarding). IMHO its a poor implementation--they are revealing too much of the internal functionality of the firewall and it should instead just be handled inside the rules engine (such as in an optimization phase). Anyway, what chain are you adding it to? Frankly, I'd either stay a mile away from ipchains/iptables and even ipfw--they are too low of a level to work with manually. You can also search out some wrapper tools that make them a little more manageable. As for Raptor, its an Ok firewall--but its strength is in areas other than you will likely be using it. Raptor's strength is in its protocol aware proxies--it has many many protocol aware proxies which you can send connections through. The advantage of this is it ONLY allows proper protocol to be spoken, so people cannot just open port 80 and speak some other protocol through it. Because of this its strength is really in sitting in front of a large LAN for outbound connections. Putting it in front of a 'DMZ' where it is protecting servers is less useful. Checkpoint is just really expensive, but would do the job. Cisco PIX falls into the same category as ipchains/iptable/etc. Its probably even worse with their 'conduits'. The new management interface helps a LOT, so its probably not a bad option (You can pickup a teeny PIX firewall for about $800 I think). My personal favorite, however, is Sunscreen. It is free with Solaris 8 on a limited license basis, and will be completely free with Solaris 9. I like it because it is simple and easy to manage yet very powerful. It doesn't have all of the proxies as raptor, nor does it have distributed administrative capabilities like Checkpoint, but it does have its own unique features (such as Stealth mode, where it runs as a bridging firewall with no direct IP layer 3 presence). My recommendation would be to either buy a $999 sun box, or load Solaris 8/x86 onto a PC (just give it at least 256MB RAM). Sunscreen can be added on top of it. You can manage sunscreen either through a nice and simple java GUI or from the command line (once you understand the concepts from the GUI its easy to drop to the command line). For the Cold Dark and 'cold.org' we are actually running this configuration on the server, rather than just in front of a server. It is running Solaris 8 with Sunscreen just protecting itself on a 2x750MHz CPU Dell. If you need help setting something like this up, let me know (Oh, and yes, you can use Solaris for free on the PC). -Brandon From coldstuff@cold.org Wed Feb 20 19:19:31 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Wed, 20 Feb 2002 11:19:31 -0800 (PST) Subject: [Coldstuff] IP Masq / forwarding Message-ID: <20020220191931.85543.qmail@web14508.mail.yahoo.com> I am going to be toying around with the idea of using ip masq and forwarding to hide my server behind another firewall. Has anyone else already done this? Comments or suggestions from anyone? Jonathan __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Wed Feb 20 19:55:06 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Wed, 20 Feb 2002 12:55:06 -0700 Subject: [Coldstuff] IP Masq / forwarding In-Reply-To: <20020220191931.85543.qmail@web14508.mail.yahoo.com>; from jwr_trumpet@yahoo.com on Wed, Feb 20, 2002 at 11:19:31AM -0800 References: <20020220191931.85543.qmail@web14508.mail.yahoo.com> Message-ID: <20020220125506.B7493@mojo.cold.org> On Wed, Feb 20, 2002 at 11:19:31AM -0800, Jonathan Robertson wrote: > I am going to be toying around with the idea of using > ip masq and forwarding to hide my server behind > another firewall. Has anyone else already done this? > Comments or suggestions from anyone? Please correct me if I'm wrong, but isn't linux's IP masquerading just PAT/NAT? If so, its not really appropriate for a server (inbound) and was originally designed to hide a network behind a single IP address (outbound). While you can manage inbound on a port by port basis to a server... why would you in this situation? It would work, but you dont get much value and you do get more complexity... -Brandon From coldstuff@cold.org Wed Feb 20 20:00:44 2002 From: coldstuff@cold.org (Bruce Mitchener) Date: Wed, 20 Feb 2002 13:00:44 -0700 Subject: [Coldstuff] IP Masq / forwarding References: <20020220191931.85543.qmail@web14508.mail.yahoo.com> Message-ID: <3C74006C.6050004@cubik.org> Jonathan Robertson wrote: > I am going to be toying around with the idea of using > ip masq and forwarding to hide my server behind > another firewall. Has anyone else already done this? > Comments or suggestions from anyone? I run various servers behind NAT and then open up port forwards to allow access to them. Not a problem at all. Just open them up for 1138, 1180, and whatever else you use if you're using the default ColdCore ports. - Bruce From coldstuff@cold.org Wed Feb 20 20:05:31 2002 From: coldstuff@cold.org (Bruce Mitchener) Date: Wed, 20 Feb 2002 13:05:31 -0700 Subject: [Coldstuff] IP Masq / forwarding References: <20020220191931.85543.qmail@web14508.mail.yahoo.com> <20020220125506.B7493@mojo.cold.org> Message-ID: <3C74018B.2080002@cubik.org> Brandon Gillespie wrote: > On Wed, Feb 20, 2002 at 11:19:31AM -0800, Jonathan Robertson wrote: >>I am going to be toying around with the idea of using >>ip masq and forwarding to hide my server behind >>another firewall. Has anyone else already done this? >>Comments or suggestions from anyone? > > Please correct me if I'm wrong, but isn't linux's IP masquerading just > PAT/NAT? If so, its not really appropriate for a server (inbound) and > was originally designed to hide a network behind a single IP address > (outbound). While you can manage inbound on a port by port basis to a > server... why would you in this situation? It would work, but you > dont get much value and you do get more complexity... Speaking for myself, I use NAT because I have a single IP at home and have 4 machines. I run multiple Cold servers, multiple SSH servers, multiple web servers, and so on and need them all publicly accessible from the outside world. NAT works just fine for that. - Bruce From coldstuff@cold.org Wed Feb 20 20:30:44 2002 From: coldstuff@cold.org (Brad Roberts) Date: Wed, 20 Feb 2002 12:30:44 -0800 (PST) Subject: [Coldstuff] IP Masq / forwarding In-Reply-To: <20020220125506.B7493@mojo.cold.org> Message-ID: On Wed, 20 Feb 2002, Brandon Gillespie wrote: > On Wed, Feb 20, 2002 at 11:19:31AM -0800, Jonathan Robertson wrote: > > I am going to be toying around with the idea of using > > ip masq and forwarding to hide my server behind > > another firewall. Has anyone else already done this? > > Comments or suggestions from anyone? > > Please correct me if I'm wrong, but isn't linux's IP masquerading just > PAT/NAT? If so, its not really appropriate for a server (inbound) and > was originally designed to hide a network behind a single IP address > (outbound). While you can manage inbound on a port by port basis to a > server... why would you in this situation? It would work, but you > dont get much value and you do get more complexity... > > -Brandon Appropriate is very much in the eye of the beholder. Hiding a box behind NAT and doing port forwarding can often be a big advantage. - You gain a reasonable measure of security by having only specifically forwarded ports accessible on the internal machine. - You gain device independence by not having the public network aware of the actual address of the box being forwarded to. - With NAT engine a little more powerful than the current Linux implementation (well, I don't know for a fact that linux's can't do this, but I'm not sure it can either) you could even do load balancing across multiple boxes from a central NAT point. Granted, this wouldn't be a good thing for a mud. - Lastly, hardening a single box that's doing the NAT work can be a lot easier than hardening every machine behind it. With only a few known ports getting through to a few very well defined machines, the network behind the NAT point can afford to be less hardened. Later, Brad From coldstuff@cold.org Thu Feb 21 01:16:38 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Wed, 20 Feb 2002 17:16:38 -0800 (PST) Subject: [Coldstuff] IP Masq / forwarding In-Reply-To: <20020220125506.B7493@mojo.cold.org> Message-ID: <20020221011638.56193.qmail@web14508.mail.yahoo.com> Well, here's my current plans for the future layout and network design. It'll start with just the core server on it's own with a firewall. Adding machines later on to host a DEV version of the core for testing and so forth. Eventually move all of our Web, News, Mail, FTP (staff use) server(s) behind it as well on their own box. I'm also thinking (very far future) having one of the servers be a host for everyone that works for AE getting an installation of Norton AntiVirus Corporate Edition to ensure our staff's security. That was the reason for throwing up VelociRaptor, soon to be called Symantec Enterprise Firewall Appliance and VPN. Plus I get nice discounts considering my day job is at Symantec supporting the stuff.. Jonathan __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Thu Feb 21 01:42:56 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Wed, 20 Feb 2002 17:42:56 -0800 (PST) Subject: [Coldstuff] Ports with Genesis & ColdC Message-ID: <20020221014256.94634.qmail@web14505.mail.yahoo.com> Ok, trying to keep this place lively ;) I don't recall getting any answers on my question a bit back on ports, my apology if I overlooked it. If I set ipchains to only allow 1138, sometimes I can get in, normally I can't (locally), so I started watching the ports and I was able to narrow it down to port 1033 is where the data was getting blocked at. Open up 1033 and bang, I could get in the core every time. Any idea what causes that? Next question is on the newer backup script that does all the good stuff ;) It works great for creating them, I came home today and tf had a bunch of messages saying unable to rename (_binary-..... >-binary-.... The textdump files do get created and compressed (VERY NICE!!!) and the temp stuff is removed, but the binary databases are still there in the binary-2002022010 kind of folder names, currently only 65 megs each but that adds up pretty quick. Is there a variable I'm missing or do I need to update the script to clean up the binary folders? Jonathan Aeternity ~Eyes are going crossed from reading so many years of backlogged cold postings~ __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Thu Feb 21 02:08:44 2002 From: coldstuff@cold.org (Adam Cormany) Date: Wed, 20 Feb 2002 18:08:44 -0800 (PST) Subject: [Coldstuff] Ports with Genesis & ColdC In-Reply-To: <20020221014256.94634.qmail@web14505.mail.yahoo.com> Message-ID: <20020221020844.42178.qmail@web12802.mail.yahoo.com> I've ran into this before moving my source from machine to machine and corrected it by: 1) make sure $base_dir is the correct path 2) make sure bzip2(or gzip/compress depending on what compression you choose) path is correct. 3) make sure mkfifo path is correct. Hopefully this helps some. Adam --- Jonathan Robertson wrote: > Ok, trying to keep this place lively ;) > > I don't recall getting any answers on my question a > bit back on ports, my apology if I overlooked it. > > If I set ipchains to only allow 1138, sometimes I > can > get in, normally I can't (locally), so I started > watching the ports and I was able to narrow it down > to > port 1033 is where the data was getting blocked at. > Open up 1033 and bang, I could get in the core every > time. Any idea what causes that? > > Next question is on the newer backup script that > does > all the good stuff ;) It works great for creating > them, I came home today and tf had a bunch of > messages > saying unable to rename (_binary-..... >-binary-.... > The textdump files do get created and compressed > (VERY > NICE!!!) and the temp stuff is removed, but the > binary > databases are still there in the binary-2002022010 > kind of folder names, currently only 65 megs each > but > that adds up pretty quick. Is there a variable I'm > missing or do I need to update the script to clean > up > the binary folders? > > Jonathan > Aeternity > > ~Eyes are going crossed from reading so many years > of > backlogged cold postings~ > > __________________________________________________ > Do You Yahoo!? > Yahoo! Sports - Coverage of the 2002 Olympic Games > http://sports.yahoo.com > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Thu Feb 21 07:08:01 2002 From: coldstuff@cold.org (Jonathan) Date: Wed, 20 Feb 2002 23:08:01 -0800 Subject: [Coldstuff] Ports with Genesis & ColdC References: <20020221020844.42178.qmail@web12802.mail.yahoo.com> Message-ID: <3C749CD1.6000005@yahoo.com> --------------000702020908060307030505 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Yes, the paths are correct. The backup runs and creates the textdump of the binary database, cleans up the textdump ones but not the binary ones, essentially the binary.bak folder renamed. Jonathan Adam Cormany wrote: >I've ran into this before moving my source from >machine to machine and corrected it by: > > 1) make sure $base_dir is the correct path > 2) make sure bzip2(or gzip/compress depending on what >compression you choose) path is correct. > 3) make sure mkfifo path is correct. > >Hopefully this helps some. >Adam > > >--- Jonathan Robertson wrote: > >>Ok, trying to keep this place lively ;) >> >>I don't recall getting any answers on my question a >>bit back on ports, my apology if I overlooked it. >> >>If I set ipchains to only allow 1138, sometimes I >>can >>get in, normally I can't (locally), so I started >>watching the ports and I was able to narrow it down >>to >>port 1033 is where the data was getting blocked at. >>Open up 1033 and bang, I could get in the core every >>time. Any idea what causes that? >> >>Next question is on the newer backup script that >>does >>all the good stuff ;) It works great for creating >>them, I came home today and tf had a bunch of >>messages >>saying unable to rename (_binary-..... >-binary-.... >>The textdump files do get created and compressed >>(VERY >>NICE!!!) and the temp stuff is removed, but the >>binary >>databases are still there in the binary-2002022010 >>kind of folder names, currently only 65 megs each >>but >>that adds up pretty quick. Is there a variable I'm >>missing or do I need to update the script to clean >>up >>the binary folders? >> >>Jonathan >>Aeternity >> >>~Eyes are going crossed from reading so many years >>of >>backlogged cold postings~ >> >>__________________________________________________ >>Do You Yahoo!? >>Yahoo! Sports - Coverage of the 2002 Olympic Games >>http://sports.yahoo.com >>_______________________________________________ >>Cold-Coldstuff mailing list >>Cold-Coldstuff@cold.org >>http://web.cold.org/mailman/listinfo/cold-coldstuff >> > > >__________________________________________________ >Do You Yahoo!? >Yahoo! Sports - Coverage of the 2002 Olympic Games >http://sports.yahoo.com >_______________________________________________ >Cold-Coldstuff mailing list >Cold-Coldstuff@cold.org >http://web.cold.org/mailman/listinfo/cold-coldstuff > --------------000702020908060307030505 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Yes, the paths are correct.  The backup runs and creates the textdump of the  binary database, cleans up the textdump ones but not the binary ones, essentially the binary.bak folder renamed.
Jonathan

Adam Cormany wrote:
I've ran into this before moving my source from
machine to machine and corrected it by:

1) make sure $base_dir is the correct path
2) make sure bzip2(or gzip/compress depending on what
compression you choose) path is correct.
3) make sure mkfifo path is correct.

Hopefully this helps some.
Adam


--- Jonathan Robertson <jwr_trumpet@yahoo.com> wrote:
Ok, trying to keep this place lively ;)

I don't recall getting any answers on my question a
bit back on ports, my apology if I overlooked it.

If I set ipchains to only allow 1138, sometimes I
can
get in, normally I can't (locally), so I started
watching the ports and I was able to narrow it down
to
port 1033 is where the data was getting blocked at.
Open up 1033 and bang, I could get in the core every
time. Any idea what causes that?

Next question is on the newer backup script that
does
all the good stuff ;) It works great for creating
them, I came home today and tf had a bunch of
messages
saying unable to rename (_binary-..... >-binary-....
The textdump files do get created and compressed
(VERY
NICE!!!) and the temp stuff is removed, but the
binary
databases are still there in the binary-2002022010
kind of folder names, currently only 65 megs each
but
that adds up prett y quick. Is there a variable I'm
missing or do I need to update the script to clean
up
the binary folders?

Jonathan
Aeternity

~Eyes are going crossed from reading so many years
of
backlogged cold postings~

__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com
_______________________________________________
Cold-Coldstuff mailing list
Cold-Coldstuff@cold.org
http://web.cold.org/mailman/listinfo/cold-coldstuff


__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com
_______________________________________________
Cold-Coldstuff mailing list
Cold-Coldstuff@cold.org
http://web.cold.org/mailman/listinfo/cold-coldstuff


--------------000702020908060307030505-- From coldstuff@cold.org Thu Feb 21 20:12:54 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Thu, 21 Feb 2002 13:12:54 -0700 Subject: [Coldstuff] Ports with Genesis & ColdC In-Reply-To: <3C749CD1.6000005@yahoo.com>; from jwr_trumpet@yahoo.com on Wed, Feb 20, 2002 at 11:08:01PM -0800 References: <20020221020844.42178.qmail@web12802.mail.yahoo.com> <3C749CD1.6000005@yahoo.com> Message-ID: <20020221131253.A15450@mojo.cold.org> On Wed, Feb 20, 2002 at 11:08:01PM -0800, Jonathan wrote: > Yes, the paths are correct. The backup runs and creates the textdump of > the binary database, cleans up the textdump ones but not the binary > ones, essentially the binary.bak folder renamed. > Jonathan Who is the owner of the current directory (that binary.bak, etc... is in) and who is the owner of the binary.bak directory, and also the genesis process... are they all the same? If you want, from the base directory type: ls -lFa And paste the results to the list (prune what you wish, just dont remove '.' from the list). -Brandon From coldstuff@cold.org Thu Feb 21 21:19:09 2002 From: coldstuff@cold.org (Jonathan Robertson) Date: Thu, 21 Feb 2002 13:19:09 -0800 (PST) Subject: [Coldstuff] Ports with Genesis & ColdC In-Reply-To: <20020221131253.A15450@mojo.cold.org> Message-ID: <20020221211909.9006.qmail@web14503.mail.yahoo.com> total 1652 drwsr-xr-x 13 jonathan root 4096 Feb 21 12:27 ./ drwxr-xr-x 22 root root 4096 Feb 19 22:45 ../ drwxr-xr-x 2 root root 4096 Feb 21 12:25 backups/ drwsr-xr-x 2 jonathan root 4096 Jan 13 21:18 bin/ drwx------ 2 jonathan root 4096 Feb 21 12:28 binary/ drwx------ 2 jonathan root 4096 Feb 20 18:27 binary-2002022018/ drwx------ 2 jonathan root 4096 Feb 20 20:27 binary-2002022020/ drwx------ 2 jonathan root 4096 Feb 20 23:27 binary-2002022023/ drwx------ 2 jonathan root 4096 Feb 21 10:27 binary-2002022110/ drwx------ 2 jonathan root 4096 Feb 21 12:27 binary-2002022112/ -rwsr-xr-x 1 jonathan root 820806 Jan 13 20:22 coldcc* drwsr-xr-x 2 jonathan root 4096 Feb 19 20:02 dbbin/ -rwsr-xr-x 1 jonathan root 3028 Jan 13 20:22 dumpsplit* -rwsr-xr-x 1 jonathan root 794020 Jan 13 20:22 genesis* drwsr-xr-x 2 jonathan root 4096 Feb 19 23:24 logs/ -rwsr-xr-x 1 jonathan root 2580 Jan 13 20:22 make-release* -rwsr-xr-x 1 jonathan root 1112 Jan 13 20:22 sortprof* drwxr-xr-x 2 jonathan root 4096 Feb 15 23:41 src/ The bz2 textdump files are all in the backups folder like they should be. ===== Jonathan Aeternity look $user_khepri You see Khepri Manet, growing wiser with every mistake. __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com From coldstuff@cold.org Fri Feb 22 00:22:22 2002 From: coldstuff@cold.org (Brandon Gillespie) Date: Thu, 21 Feb 2002 17:22:22 -0700 Subject: [Coldstuff] Ports with Genesis & ColdC In-Reply-To: <20020221211909.9006.qmail@web14503.mail.yahoo.com>; from jwr_trumpet@yahoo.com on Thu, Feb 21, 2002 at 01:19:09PM -0800 References: <20020221131253.A15450@mojo.cold.org> <20020221211909.9006.qmail@web14503.mail.yahoo.com> Message-ID: <20020221172222.B16889@mojo.cold.org> Based off the fact that root owns your backups folder, and that things are actually going into it; I'm guessing that you are running genesis as root? This shouldn't actually be a problem for removing the directory, but its not a good idea to be running as root. YOu may want to consider the setuid option to switch genesis to yourself (jonathan)... The init script I use on the Cold Dark does this, it is as follows. As for your problem, you are probably best contacting me or somebody on the Cold Dark to work through it real-time... -Brandon -------------------------------------------------------------------- #!/bin/bash hostname=ice.cold.org user=tcd group=tcd base=/svc/tcd/db prog=./bin/genesis pidfile="$base/logs/genesis.run" args="-s199x10 -n $hostname -u$user -g$group -f" ulimit -c 52428800 umask 002 LD_LIBRARY_PATH=/usr/local/lib export LD_LIBRARY_PATH find_process ( ) { pid=$1 if [ "$pid" = "" ]; then if [ -f $pidfile ]; then pid=`cat $pidfile` fi fi if [ "$pid" != "" ]; then ps -fp $pid | tail -1 | grep $prog fi } case $1 in start) cd $base if [ "`find_process`" != "" ]; then echo "$prog alread appears to be running, aborting!" exit fi echo "Starting $prog..." ulimit -a ($prog $args )2>&1 >> $base/logs/init.log& ;; stop) if [ "`find_process`" = "" ]; then echo "Cannot find $prog, unable to shutdown!" else pid=`cat $pidfile` echo "Sending term signal to $prog($pid)..." kill -TERM $pid wait=5 tries=60 # how many $wait second sleeps until we finally giveup? while [ $tries -gt 0 ]; do tries=`expr $tries - 1` echo "[kill $prog] Waiting $wait seconds..." sleep $wait if [ "`find_process $pid`" = "" ]; then echo "[kill $prog] process is gone, goodbye." exit fi done echo "[kill $prog] unable to shutdown, possible corruption!" fi ;; *) echo "Syntax: $0 {start | stop}" exit esac From coldstuff@cold.org Fri Feb 22 22:04:53 2002 From: coldstuff@cold.org (Gau of the Veldt) Date: Fri, 22 Feb 2002 15:04:53 -0700 Subject: [Coldstuff] networking problem in parse() Message-ID: I've been having trouble with network stream reading via the parse() method. I'm trying to build a webserver that can handle forms (particularly multipart/form-data since it can be used as a web interface to uploading character images, etc). I can transfer a normal page fine but end up with an interesting problem when the operation is a post and expects a specific number of bytes to occur after the client transmits the header (specified by the content length header). The problem appears as the web browser and the connection object stalling when the parse_line state is waiting for parse to send it a fixed-length buffer. My implementation of parse() checks a getraw() function implemented on the interface object for being >0 (>0 means parse_line wants that many unterminated bytes on the next call [passed as a buffer]). When enough bytes pass through (buffer.length() >= interface.getraw()) a subbuffer is generated with the requested bytes, lopped off the main buffer and passed to parse_line (as a buffer rather than a string). The problem appears as a stall on the web browser side. In the code the problem is a stall after parse_line on the interface obtains the headers from the client and just completed setting rawflag so parse() will know the number of expected form bytes on the next pass. The next pass (another call to parse()) doesn't happen. As such the two sides end up helplessly stalled. Here's the real gotcha! If I hit [STOP] in the browser the parse() function immediately comes to life and the code executes and sends the required bytes back to parse_line and I have the required data and am able to generate the result page (only the browser is by now disconnected). The killer thing is that the data is THERE but I can't get parse() to see it without the other side cutting the cord. Is there some way I can make this work as I am expecting? If anyone wants to analyze the textdump I'd be happy to make it available by arrangement. I suspect (and, by netiquette, rightly so) that posting the textdump as an attachment to the entire list is a real Bad Idea (TM.). My email address is gau_veldt[4T]hotmail[D0T]com (substitue as necessary @ for [4T] and . for [D0T] - hopefully spambots aren't smart enough yet to figure this trick out). From coldstuff@cold.org Sat Feb 23 23:53:30 2002 From: coldstuff@cold.org (Khepri) Date: Sat, 23 Feb 2002 15:53:30 -0800 Subject: [Coldstuff] Ports with Genesis & ColdC References: <20020221131253.A15450@mojo.cold.org> <20020221211909.9006.qmail@web14503.mail.yahoo.com> <20020221172222.B16889@mojo.cold.org> Message-ID: <3C782B7A.9050607@aephirsden.com> Has anyone seen the other thing I've seen with the ports? If I set ipchains to only allow 1138, sometimes I can get in, normally I can't (locally), so I started watching the ports and I was able to narrow it down to port 1033 is where the data was getting blocked at. Open up 1033 and bang, I could get in the core every time. Any idea what causes that? Jonathan From coldstuff@cold.org Sun Feb 24 00:03:01 2002 From: coldstuff@cold.org (Bruce Mitchener) Date: Sat, 23 Feb 2002 17:03:01 -0700 Subject: [Coldstuff] Ports with Genesis & ColdC References: <20020221131253.A15450@mojo.cold.org> <20020221211909.9006.qmail@web14503.mail.yahoo.com> <20020221172222.B16889@mojo.cold.org> <3C782B7A.9050607@aephirsden.com> Message-ID: <3C782DB5.6040900@cubik.org> Khepri wrote: > Has anyone seen the other thing I've seen with the ports? > > If I set ipchains to only allow 1138, sometimes I can > get in, normally I can't (locally), so I started > watching the ports and I was able to narrow it down to > port 1033 is where the data was getting blocked at. Open up 1033 and > bang, I could get in the core every > time. Any idea what causes that? I've no idea whatsoever. Have you tried running tcpdump or something similar to grab all of the data on that port to see what it is? The Colds that I run at home aren't ColdCore, but I have no problems like that, I just open up the correct ports. - Bruce From coldstuff@cold.org Mon Feb 25 21:21:20 2002 From: coldstuff@cold.org (Robert Bradley) Date: Mon, 25 Feb 2002 14:21:20 -0700 Subject: [Coldstuff] Errors upon making Genesis. In-Reply-To: <20020203180452.GC29007@prometheus.localnet> Message-ID: <000001c1be42$5f934310$0200a8c0@alphaprime> I had the same problem with mandrake 8.1, creating a symbolic ling to gdbm.h fixed the problem for me and allowed me to compile it. Execute "ln -s /usr/include/gdbm/gdbm.h /usr/include/gdbm.h" and it should work fine for you. I submitted a patch to Bruce which fixes configure, however the make process still chokes on it, so there is probably still something that needs to be patched in the Makefile. Hope this helps. Rob -----Original Message----- From: cold-coldstuff-admin@cold.org [mailto:cold-coldstuff-admin@cold.org] On Behalf Of Michael Henry Sent: Sunday, February 03, 2002 11:05 AM To: coldstuff@cold.org Subject: Re: [Coldstuff] Errors upon making Genesis. Michael Henry wrote: > If you notice in the make file, the second option is -lgdbm: > LIBS=-lintl -lgdbm -lsocket -lm -lnsl Oy, stupid me for trying to help before my first cup of coffee. >From the configure file: ----------------------------------------------------- if eval "test \"`echo '$ac_cv_header_ndbm_h'`\" = yes"; then cat >> confdefs.h <<\EOF #define DBM_H_FILE EOF elif eval "test \"`echo '$ac_cv_header_db1_ndbm_h'`\" = yes"; then echo "** working around odd placement of ndbm.h file" cat >> confdefs.h <<\EOF #define DBM_H_FILE EOF elif eval "test \"`echo '$ac_cv_header_gdbm_ndbm_h'`\" = yes"; then echo "** working around odd placement of ndbm.h file" cat >> confdefs.h <<\EOF #define DBM_H_FILE EOF else ------------------------------------------------------- The same troubleshooting should apply. However. Library paths are a common problem with linking failures. You should probably get GDBM anyway. Its tiny and more functional than ndbm :-) sorry for lack of brains this morning. Mike - "derMike" _______________________________________________ Cold-Coldstuff mailing list Cold-Coldstuff@cold.org http://web.cold.org/mailman/listinfo/cold-coldstuff From coldstuff@cold.org Wed Feb 27 01:59:09 2002 From: coldstuff@cold.org (Bo Tisdale) Date: Tue, 26 Feb 2002 20:59:09 -0500 Subject: [Coldstuff] win32 genesis Message-ID: Hi, Are there plans for a Win32 version of Genesis-? The website said "explanation pending." Just curious- thanks Bo From coldstuff@cold.org Wed Feb 27 06:21:17 2002 From: coldstuff@cold.org (Bruce Mitchener) Date: Tue, 26 Feb 2002 23:21:17 -0700 Subject: [Coldstuff] win32 genesis References: Message-ID: <3C7C7ADD.80503@cubik.org> Bo Tisdale wrote: > Hi, > > Are there plans for a Win32 version of Genesis-? The website said > "explanation pending." Just curious- It has been ported to compile in MSVC++ recently. I have the patches and they'll be part of 1.1.11. I just haven't had the time lately to make the release, but could probably do so in the first half of March (especially if I get an email reminding me to do so). Previous releases (and current) should build with Borland C++. Someone on this list should pop up and offer to send you pre-compiled binaries as well, since I know there are people out there who have some. :) Cheers, - Bruce From coldstuff@cold.org Wed Feb 27 06:43:53 2002 From: coldstuff@cold.org (Jonathan) Date: Tue, 26 Feb 2002 22:43:53 -0800 Subject: [Coldstuff] win32 genesis References: <3C7C7ADD.80503@cubik.org> Message-ID: <3C7C8029.8060500@yahoo.com> Last I checked there were win32 files on the cold site... Nevermind, those were beta for 1.1.9. I used that driver on my windows 2k server box and it worked great. Since then I've moved over to Slackware. I'll see if I can find my binaries. And send them to you. Borland does have a free compiler you can download, check this link: http://www.borland.com/bcppbuilder/freecompiler/ Depending on your future plans for it you may enjoy compiling it yourself, it's fun ;) Jonathan Bruce Mitchener wrote: > Bo Tisdale wrote: > >> Hi, >> >> Are there plans for a Win32 version of Genesis-? The website said >> "explanation pending." Just curious- > > > It has been ported to compile in MSVC++ recently. I have the patches > and they'll be part of 1.1.11. I just haven't had the time lately to > make the release, but could probably do so in the first half of March > (especially if I get an email reminding me to do so). > > Previous releases (and current) should build with Borland C++. > Someone on this list should pop up and offer to send you pre-compiled > binaries as well, since I know there are people out there who have > some. :) > > Cheers, > > - Bruce > > > > _______________________________________________ > Cold-Coldstuff mailing list > Cold-Coldstuff@cold.org > http://web.cold.org/mailman/listinfo/cold-coldstuff > From coldstuff@cold.org Thu Feb 28 02:20:12 2002 From: coldstuff@cold.org (Allen Noe) Date: Wed, 27 Feb 2002 20:20:12 -0600 Subject: [Coldstuff] win32 genesis References: Message-ID: <3C7D93DC.2354A85B@geocities.com> Bo Tisdale wrote: > Are there plans for a Win32 version of Genesis-? The website said > "explanation pending." Just curious- It's kinda old, and I forgot what patches I applied to it, but: http://www.geocities.com/psyclone42/genesis-1.1.8-win32-bin.zip Oh, and it's just genesis.exe and coldc.exe, get another package if you want anything else (docs, for instance). I have no plans on compiling a more recent version. Again, if anybody feels like it, you can put this on web.cold.org and then maybe we'll get fewer questions posted to the mailing list..