[Freeciv-Dev] Re: (PR#13262) RFC: pubserver-in-a-diff
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
<URL: http://bugs.freeciv.org/Ticket/Display.html?id=13262 >
On Sun, Oct 30, 2005 at 04:57:38PM +0000, Per Inge Mathisen wrote:
> On Sun, 30 Oct 2005, Reinier Post wrote:
> > > This patch implements the ./configure switch --enable-pubserver.
>
> I hope you realize that what you have commented here is a very old, and
> very different version of the patch in question.
>
> > I appreciate your effort, but all I can think is: UGH.You are implementing
> > the wrong way of achieving functionality that is already implemented the
> > right way.
> ...
> > The beauty of pubserver, in my view
>
> I find it hard to characterize pubserver as anything remotely similar to
> "beauty". It is such a mess, in my opinion, that it is unsalvagable. We
> now have two efforts to rewrite it by three people, who have given up
> understanding or fixing pubserver.
I agree with you that a core part of it (the Makefile) was a big mistake,
but the design was nice. The biggest problem was that it wasn't documented,
so I did that yesterday, see
http://www.freeciv.org/index.php/Pubserver_software
Another problem is that newer features such as server-started-from-client,
ranking and authentication were bolted on, and the feature to pick rulesets
is another. This is as much a problem within civserver as it is with the
pubserver software, so changes to civserver may well be necessary. I just
think these changes should be nicely orthogonal "features" instead of
"whatever it takes to allow the bloody thing to run on pubserver".
But I'm sure you agree with that.
> > One proof of that was that we didn't even have to make any changes to the
> > civserver executable
>
> The result was, however, a crippled civserver, which could not save, load,
> change rulesets or run .serv files.
?? Under cmdlevel ctrl you cannot write to the filesystem, but you can read
from it. The /read and /ruleset commands just work. I agree that you
want an access level where certain information can be written to the filesystem,
in "safe" areas; this could be used to write settings or rulesets without
allowing
arbitrary filesystem access. But I do not see the need to have this feature on
pubserver. The problem with rulesets is not that they cannot be written, it is
that the server doesn't provide a means to see which rulesets are available,
and no means to inspect the contents of a ruleset, let alone change it.
Only when these things are addressed, it may become interesting to
support saving of customized rulesets. I don't think it's technically hard
to address them by the way.
> I really appreciate what pubserver has
> done for us up through the years, but it does have its significant
> limitations. It has also proven very hard to maintain for people other
> than its authors.
My point is that a new design is needed, not a new piece of code that goes
straight through the existing design to get things to work. But we already
agreed on this.
> > If the cmdlevel system is no longer good enough to
> > capture the functionality required in civserver to support running on
> > pubserver, either improve it or take it out, but please don't add a more or
> > less randomly designed bit of other code to civserver that replicates its
> > functionality while crashing through the original architecture, because it
> > cripples and corrupts the cmdlevel system that is already there.
>
> I have no idea what you are talking about. Sorry.
What I mean is that when I start a Freeciv game these days, it sometimes claims
I have info access level, and yet I can control a server. This is just wrong,
since info means you cannot do anything. The access level system wasn't good
enough,
but it was broken instead of fixed. I didn't know how to fix it either, but
that is what should be done. I noticed some similar corruption of values
in your initial patch, hence my reply.
I care about the pubserver design, not about the implementation - many things
in the existing implementation can be replaced with improved parts, are
better rewritten in some other language, and some functionality can perhaps
be omitted altogether. But I think a "pubserver mode" that makes
civserver perform functions it presently doesn't is just the wrong design.
> - Per
--
Reinier
|
|