Fork me on GitHub
  November 13, 2018, 08:31:38 am
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  Home Help Search Login Register  
  Show Posts
Pages: 1 [2]
16  Mineserver / Development / Re: User permissions/groups on: April 08, 2011, 06:37:35 pm
I think, in minecraft community, the real server administrators are a very small community. As you can see in bukkit forums, there are mostly script kiddies and not so advanced users around, running their servers on their own machine at home. These People are confused with YAML (which bukkit permission system uses) anyways, they're demanding a reasonable interface. This is ATM done ingame but not suitable for the initial configuration.

As far as the main configuration is concernd, I'm very happy with the format used now. It can be easily generated from a web interface for example  (wouldn't a webinterface for configuration be cool?). This should't be changed anyways, it's readable enough to be understandable for DAUs. And server admins can edit it easily.

I just think that format used in the main config is not suitable for handling permissions.
17  Mineserver / Development / Re: User permissions/groups on: April 08, 2011, 11:33:53 am
Well, XML can be easily processed by 3rd-party-applications, like a graphical permissions editor as well as an graphical configuration editor. The positive side on XML is also the strict definition with the XSD and the ability to extend it easily. What you forget in your system is the ability to create user defined groups, which can inherit permissions from other group, exclude permissions and so on. If you don't like to type all these tags, you can simply write a config generator, I would do that too xP

Also, if I understand you correctly, if the default user has got the permission to build and use a hypothetical plugin warp:
Code:
permissions.user = ("mineserver.build", "plugin.warp.warpto");

If you assign many different permissions on one user, this format produces endless lines and sucks therefor pretty much.

You can always use some autocompleting software to write the config (MS XML Notepad 2007 on Windows, Eclipse with web extensions should do it on Linux) - can't be easier.

You always have to design a system for the DAU (German abbreviation for "Dümmster anzunehmender User", Stupidest user possible), and in my opinion, XML is best suited for this. I can easily write some applications for easy configuration and easy permissions editing.

Oh, by the way, some in-game commands to change permissions would be very nice. Like add users to groups, give groups additional permissions, create groups and so on.
18  Mineserver / Discussion / Re: Kind-of-a-Spam-Problem? on: April 05, 2011, 10:33:18 am
So, the Spam Problem seems kind of solved. Good news Cheesy
19  Mineserver / Discussion / Re: Events based .NET API on: April 03, 2011, 02:48:00 pm
Well, this is totally against my expiriences. If you write a clean program in C#, its farily faster than Java. Those converters are often total crap, I used recently one which converts Java Bytecode to Native code. Resources usage was nearly the same. Those automatic converters aren't optimized for speed, they are optimized for accuracy of conversion. I get eye cancer if I see such converted source :/ That applies btw even for the VisualBasic to C# and reverse converters.

As I (hopefully) ported the plugin API to work with C# (found a tool which generates reasonable code, desipte from way too long variable names), I can run some speed tests with a sample plugin.

Edit: Oh, and by the way: if this works, it would be a optional plugin, so you can use it, if you want. You don't have to.
20  Mineserver / Discussion / Events based .NET API on: April 03, 2011, 01:09:53 pm
So, as I'm a quite expirienced .NET Programmer, I thought of a API Plugin so that you can use CLR (.NET)-DLL-Assemblies as Plugins in Mineserver. I know this requires at least mono or .NET installed, but most of the people have these now, and as a matter of fact, the mono project is far enough implemented to get this working. I'll spend some time trying to make some PInvoke going.

What are your thoughts on this?

Many people know VisualBasic and many People know C#. If this would be implemented, it would be farily easy to write many Plugins.
21  Mineserver / Plugins / Re: [Plugin] getTime on: April 02, 2011, 07:45:20 pm
Daniel, not everybody develops on linux. For windows stage, visual studio is pretty much the best you can get, regarding IDE and usability and stuff. On *nix i'd use gcc too, but on windows, no way.
22  Mineserver / Discussion / Re: Kind-of-a-Spam-Problem? on: April 02, 2011, 07:37:21 pm
Reported this while ago in IRC. cmon, can't be so hard to press three times on install.
23  Mineserver / Development / Re: Plugin API vulnerabilities on: March 14, 2011, 12:07:00 am
Performance...
24  Mineserver / Discussion / Re: Mineserver IRC on: March 06, 2011, 12:07:11 pm
Wait, what's the actual network you're on? Freenode or EsperNet? I also suggest installing this SMF mod as it fixes the http://otherprotocol//-Bug.
25  Mineserver / Development / Re: Unified building on: March 06, 2011, 12:01:59 pm
Well, I think it shoud be left to the end user which build system he use. I think Visual Studio fits best for windows users, and there should be the project map for visual studio. Thats also good for plugin developers as developing plugins is very simple with that IDE.
26  Mineserver / Development / Re: User permissions/groups on: February 27, 2011, 12:38:54 pm
I've taken a look at the permissions system, and in my opion, its far from perfect.

It would be nice to seperate permission into namespaces, like the permissions plugin for bukkit does - except yaml, which sucks.

Let's give an example. This is how it looks currently:

Code:
load         = admin
unload       = admin
reload       = admin
save         = admin
settime      = admin
regen        = admin
adminonlymsg = admin

I'm a big fan of XML by the way, so my preferred permissions structure would be something like
Code:
<groups>
<group>
<name>Admin</name>
<permissions>
<permission>mineserver.server.load</permission>
<permission>mineserver.server.unload</permission>
<permission>mineserver.server.reload</permission>
<permission>mineserver.world.save</permission>
<permission>mineserver.world.settime</permission>
<permission>mineserver.world.regen</permission>
<permission>mineserver.chat.adminonlymsg</permission>
</permissions>
</group>
</groups>

which can be easily compressed to
Code:
<groups>
<group>
<name>Admin</name>
<permissions>
<permission>mineserver.server.*/permission>
<permission>mineserver.world.*</permission>
<permission>mineserver.chat.*</permission>
</permissions>
</group>
</groups>
Note: a star gives permission to all permissions in that namespace.
which I can further compress to
Code:
<groups>
<group>
<name>Admin</name>
<permissions>
<permission>mineserver.*</permission>
</permissions>
</group>
</groups>
this gives admins full control over the things in the namespace mineserver. But what if a plugin uses a different root namespace?
Code:
<groups>
<group>
<name>Admin</name>
<permissions>
<permission>*</permission>
</permissions>
</group>
</groups>

I hope you get my thoughts. I've created the XSD Schema definition for the above samples. It would simplify the permissions system a lot.

Code:
<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="groups">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" name="group">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="name" type="xsd:string" />
              <xsd:element name="permissions">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="permission" type="xsd:string" />
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
27  Mineserver / Plugins / Re: The new Plugin API on: February 26, 2011, 11:38:59 pm
I updated the wiki today. As of 26.2.2011, all the current functions of the plugin API are documentated, except Mob API which is undergoing heavvy development.
Pages: 1 [2]
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!