[REJECTED] /xban command

Fixed bugs, solved problems, and old reports.
Locked
roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

[REJECTED] /xban command

Post by roblikescake »

I dont remember what server i was on but there was this really nice command for stopping griefers.
You type /xan playername (reason) and then it automatically undoes the players actions for a day or so im not sure, but then it also bans the players username and then the users ip address as well. this would be a great command as alot of servers ive seen have been getting hit by griefers very bad

*they didnt have reason but i think its necessary.

User avatar
GLOTCH
OP
Offline
Posts: 53
Joined: July 12th, 2011, 4:11 am
Location: U.S

Re: /xban command

Post by GLOTCH »

rob we have this command except its called /undox
17:29 Reemo2000: IS THERE ANY GIRLS ON THIS SERVER OTHER THAN ME?
17:29 +SanjarKhan: YES
17:29 +SanjarKhan: ME
17:29 +SanjarKhan: TOTAL SLUT RIGHT HERE

User avatar
DreamingInsane
Owner
Offline
Posts: 1303
Joined: May 24th, 2011, 12:05 am
Location: California, US

Re: /xban command

Post by DreamingInsane »

GLOTCH wrote:rob we have this command except its called /undox
Only problem is Mr. Glotch, It's only available for '_dev' builds.
"Words have no power to impress the mind without the exquisite horror of their reality.."
~ Edgar Allan Poe

User avatar
GLOTCH
OP
Offline
Posts: 53
Joined: July 12th, 2011, 4:11 am
Location: U.S

Re: /xban command

Post by GLOTCH »

thats true
17:29 Reemo2000: IS THERE ANY GIRLS ON THIS SERVER OTHER THAN ME?
17:29 +SanjarKhan: YES
17:29 +SanjarKhan: ME
17:29 +SanjarKhan: TOTAL SLUT RIGHT HERE

User avatar
Ollieboy
Trustee
Offline
Posts: 2343
Joined: May 23rd, 2011, 3:13 am
Location: Australia

Re: /xban command

Post by Ollieboy »

However, it doesn't automatically do it, but because there is a separate command to do it, there are more alterable parameters. For example, if they were only griefing for the last 20 minutes, you can specify 20 minutes of undoing.
<TKB> Hit_Girl: zombies don't hurt
<TKB> Hit_Girl: weird.
<TKB> Hit_Girl was slain by Zombie

roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

Re: /xban command

Post by roblikescake »

bump...

would someone possibly be willing to help me create this custom command? I really really need something like this. I have three guest maps and i just had to wipe them clean because of all the grief it had on it. I know fragmer is very very busing creating and customizing the best server software ever, so i wouldnt really want to ask him for help with this. I started my server on the 17th, by the 21st i had over 350 players in the database. Then it crashed and was down for a few days. Now the servers been up for almost 4 days and ive got over 500 people in the database! Thats alot. That many players is very hard to handle the griefage. Especially on three different maps. So having a command that undoes all the players actions, bans his name, bans his ip, and demotes him to the lowest rank on the server would be VERY VERY helpful. Heck, i would even donate like $5 to the person who can make the command for me. Might donate more if i have enough left over after paying some fees ive got. Youve got to remember, im only a junior in highschool and do not have a job lol
-would also like to add that in order to have the /xban command i would need a /whodid or /about command to know who it is that i need to ban lol
Anyways, thanks in advance to anyone who is of help.

User avatar
Sanjar Khan
Trustee
Offline
Posts: 1766
Joined: May 24th, 2011, 1:40 pm
Location: Leiden, Zuid Holland

Re: /xban command

Post by Sanjar Khan »

Why don't you just wait for version we are running to be branded as stable and released? It includes block tracking and undoing other player's actions.
Ferrisbuler2: i will stay but i might not post cus of ollieboy

Jonty800
Offline
Posts: 280
Joined: August 21st, 2011, 6:31 am
Location: United Kingdom
Contact:

Re: /xban command

Post by Jonty800 »

I've made this custom command already, although there is a bug when using /banx on an already banned player. It undoes the actions but shows that god-awful console error in the chat-feed.

Here's the code. I'll update it when I can be bothered to fix the problem with a simple "Player is currently banned, use /undox"

Code: Select all

#region banx
        static readonly CommandDescriptor CdBanx = new CommandDescriptor
        {
            Name = "banx",
            Category = CommandCategory.Chat,
            IsConsoleSafe = false,
            
            IsHidden = true,
            Permissions = new[] { Permission.Ban },
            Usage = "/banx playername",
            Help = "Bans and undoes a players actions upto 50000 blocks",
            Handler = Banx
        };
        #endregion

        static void Banx(Player player, Command cmd)
        {
            string name = cmd.Next();


            if (name != null)
            {
                string reason = cmd.NextAll();
                Player target = Server.FindPlayerOrPrintMatches(player, name, false);

                if (target == player)
                {
                    player.Message("&SYou cannot BanX yourself.");
                    return;
                }


                if (Player.IsInValidName(name))
                {
                    player.Message("Player not found. Please specify valid name.");
                    return;
                }

                DoBan(player, target.Name, "Grief (BanX)", false, false, false);
                UndoXHandler(target, new Command("/undox " + target.Name + " 100000"));
            }
            else
            {
                player.Message("{0}",CdBanx.Usage);
            }
        }
            #region undox stuff
            static void UndoXHandler( Player player, Command cmd ) {
            

            World world = player.World;
            if( !world.BlockDB.Enabled ) {
                player.Message( "&SCould not Undo Player's actions. &WBlockDB is disabled in this world." );
                return;
            }

            string name = cmd.Next();
            string range = cmd.Next();
            if( name == null || range == null ) {
                CdBanx.PrintUsage( player );
                return;
            }

            PlayerInfo target = PlayerDB.FindPlayerInfoOrPrintMatches(player,  name );
            if( target == null ) return;

            if( !player.Can( Permission.UndoOthersActions, target.Rank ) ) {
                player.Message( "You may only undo actions of players ranked {0}&S or lower.",
                                player.Info.Rank.GetLimit( Permission.UndoOthersActions ).ClassyName );
                player.Message( "Player {0}&S is ranked {1}", target.ClassyName, target.Rank.ClassyName );
                return;
            }

            int count;
            TimeSpan span;
            BlockDBEntry[] changes;
            if( Int32.TryParse( range, out count ) ) {
                if( !cmd.IsConfirmed ) {
                    player.Message( "Searching for last {0} changes made by {1}&s...",
                                    count, target.ClassyName );
                }
                changes = world.BlockDB.Lookup( target, count );
                

            } else if( range.TryParseMiniTimespan( out span ) ) {
                if( !cmd.IsConfirmed ) {
                    player.Message( "Searching for changes made by {0}&s in the last {1}...",
                                    target.ClassyName, span.ToMiniString() );
                }
                changes = world.BlockDB.Lookup( target, span );
                if( changes.Length > 0 && !cmd.IsConfirmed ) {
                    player.Confirm( cmd, "Undo changes ({0}) made by {1}&S in the last {2}?",
                                    changes.Length, target.ClassyName, span.ToMiniString() );
                    return;
                }

            } else {
                CdBanx.PrintUsage( player );
                return;
            }

            if( changes.Length == 0 ) {
                player.Message( "UndoX: Found nothing to undo." );
                return;
            }

            int blocks = 0, blocksDenied = 0;
            bool cannotUndo = false;
            player.UndoBuffer.Clear();
            for( int i = 0; i < changes.Length; i++ ) {
                DrawOneBlock( player, (byte)changes[i].OldBlock,
                              changes[i].X, changes[i].Y, changes[i].Z,
                              ref blocks, ref blocksDenied, ref cannotUndo );
            }

            Logger.Log( "{0} undid {1} blocks changed by player {2} (on world {3})", LogType.UserActivity,
                        player.Name,
                        blocks,
                        target.Name,
                        world.Name );

            DrawingFinished( player, "Undone", blocks, blocksDenied );
        }
            static void DrawingFinished(Player player, string verb, int blocks, int blocksDenied)
            {
                if (blocks == 0)
                {
                    if (blocksDenied > 0)
                    {
                        player.MessageNow("No blocks could be {0} due to permission issues.", verb.ToLower());
                    }
                    else
                    {
                        player.MessageNow("No blocks were {0}.", verb.ToLower());
                    }
                }
                else
                {
                    if (blocksDenied > 0)
                    {
                        player.MessageNow("{0} {1} blocks ({2} blocks skipped due to permission issues)... " +
                                           "The map is now being updated.", verb, blocks, blocksDenied);
                    }
                    else
                    {
                        player.MessageNow("{0} {1} blocks... The map is now being updated.", verb, blocks);
                    }
                }
                if (blocks > 0)
                {
                    player.Info.ProcessDrawCommand(blocks);
                    player.UndoBuffer.TrimExcess();
                    Server.RequestGC();
                }
            }
            static void DrawOneBlock(Player player, byte drawBlock, int x, int y, int z, ref int blocks, ref int blocksDenied, ref bool cannotUndo)
            {
                if (!player.World.Map.InBounds(x, y, z)) return;
                byte block = player.World.Map.GetBlockByte(x, y, z);
                if (block == drawBlock) return;

                if (player.CanPlace(x, y, z, (Block)drawBlock, false) != CanPlaceResult.Allowed)
                {
                    blocksDenied++;
                    return;
                }

                // this would've been an easy way to do block tracking for draw commands BUT
                // if i set "origin" to player, he will not receive the block update. I tried.
                player.World.Map.QueueUpdate(new BlockUpdate(null, x, y, z, drawBlock));
                Player.RaisePlayerPlacedBlockEvent(player, player.World.Map, (short)x, (short)y, (short)z, (Block)block, (Block)drawBlock, false);

                if (MaxUndoCount < 1 || blocks < MaxUndoCount)
                {
                    player.UndoBuffer.Enqueue(new BlockUpdate(null, x, y, z, block));
                }
                else if (!cannotUndo)
                {
                    player.UndoBuffer.Clear();
                    player.UndoBuffer.TrimExcess();
                    player.MessageNow("NOTE: This draw command is too massive to undo.");
                    if (player.Can(Permission.ManageWorlds))
                    {
                        player.MessageNow("Reminder: You can use &H/wflush&S to accelerate draw commands.");
                    }
                    cannotUndo = true;
                }
                blocks++;
            }
            public static int MaxUndoCount = 2000000;
            #endregion
Also note that I use IsInValidName in my code. Its the same as IsValidName but change the > around so its > 16 or something.

edit: ahh here it is, IsInValidName. Sits nicely in Player.cs

Code: Select all

public static bool IsInValidName(string name)
        {
            if (name == null) throw new ArgumentNullException("name");
            if (name.Length > 2 || name.Length < 16) return false;
            for (int i = 0; i < name.Length; i++)
            {
                char ch = name[i];
                if ((ch < '0' && ch != '.') || (ch > '9' && ch < 'A') || (ch > 'Z' && ch < '_') || (ch > '_' && ch < 'a') || ch > 'z')
                {
                    return false;
                }
            }
            return true;
        }
I dont even know why I made / use this, but I'm used to it now.
Last edited by Jonty800 on August 28th, 2011, 3:38 pm, edited 1 time in total.
You cannot use certain BBCodes: [img].

Jonty800
Offline
Posts: 280
Joined: August 21st, 2011, 6:31 am
Location: United Kingdom
Contact:

Re: /xban command

Post by Jonty800 »

If you dont know how to modify the software, then feel free to use my mods. sourceforge.net/projects/jonty800/files

And to enable block tracking, edit config.xml and replace
<!--<EnableBlockDB>False</EnableBlockDB>-->
with
<EnableBlockDB>True</EnableBlockDB>

(When the server is shutdown)
You cannot use certain BBCodes: [img].

roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

Re: /xban command

Post by roblikescake »

jonty, thank you so much for the code. but one problem. installing the code. i dont quite get how to do that. you said to go to your site and use your mods but i dont know which one to use lol. could you help me a bit here?

Jonty800
Offline
Posts: 280
Joined: August 21st, 2011, 6:31 am
Location: United Kingdom
Contact:

Re: /xban command

Post by Jonty800 »

You should use the latest file, which I think is Au70 v800.2.1.

Unless you know how to add code to a source, in which you should should SVN fCraft from http://svn.fcraft.net:8080/svn/fcraft/branch-0.60x
You cannot use certain BBCodes: [img].

roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

Re: /xban command

Post by roblikescake »

Jonty800 wrote:You should use the latest file, which I think is Au70 v800.2.1.

Unless you know how to add code to a source, in which you should should SVN fCraft from http://svn.fcraft.net:8080/svn/fcraft/branch-0.60x
the latest version you have is Au70 v800.2.0 and i have downloaded it. Now, what exactly do i do with it? Do i just replace my files with the files you have in the thing i downloaded?

Jonty800
Offline
Posts: 280
Joined: August 21st, 2011, 6:31 am
Location: United Kingdom
Contact:

Re: /xban command

Post by Jonty800 »

ahh I have no idea what happened to v800.2.1, I uploaded it yesterday. I just re-uploaded it so download that.

Extract and replace all files in the download.
You should make a backup of your entire server first.
You cannot use certain BBCodes: [img].

roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

Re: /xban command

Post by roblikescake »

Jonty800 wrote:ahh I have no idea what happened to v800.2.1, I uploaded it yesterday. I just re-uploaded it so download that.

Extract and replace all files in the download.
You should make a backup of your entire server first.
Alright, so i downloaded it. Backed up my server. And copied your files over. It only replace one file, do your files have to be renamed or something?

-yeah, im lost again. only one of your files has the same name as my originals. what should i do?

Jonty800
Offline
Posts: 280
Joined: August 21st, 2011, 6:31 am
Location: United Kingdom
Contact:

Re: /xban command

Post by Jonty800 »

you probably had an older version of fCraft. Run the server using ServerGUI and delete whatever the old one was called.
Use ConfigGUI for the config and delete the old one.
You cannot use certain BBCodes: [img].

roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

Re: /xban command

Post by roblikescake »

Jonty800 wrote:you probably had an older version of fCraft. Run the server using ServerGUI and delete whatever the old one was called.
Use ConfigGUI for the config and delete the old one.
Okay. I replaced fCraftUI with ServerGUI and i replaced ConfigTool with ConfigGUI. I also replaced the fCraft.dll with your fCraft.dll

You also said to change something about the block database to true, but theres nothing involving that in the config.xml

Now, all i do is start up the server and were good?

User avatar
DreamingInsane
Owner
Offline
Posts: 1303
Joined: May 24th, 2011, 12:05 am
Location: California, US

Re: /xban command

Post by DreamingInsane »

Wow Jonty800, How kind of you to have built that fCraft dev build.
Now I can experiment with what I've been wanting to. :3
"Words have no power to impress the mind without the exquisite horror of their reality.."
~ Edgar Allan Poe

roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

Re: /xban command

Post by roblikescake »

DreamingInsane wrote:Wow Jonty800, How kind of you to have built that fCraft dev build.
Now I can experiment with what I've been wanting to. :3
im using his copy of fcraft now. command list is amazing :)

now to go on the server myself to test all commands lol

roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

Re: /xban command

Post by roblikescake »

so ive ran into some confusion. after doing what i told you i did, i used /blockdb on on my guest maps, and i had a few people place some blocks, but then it didnt work. it said that nothing could be found about the block or something. and whats the command to undo a players actions for given time? another thing, several of the commands i dont need on the server. such as "au70" and "guestwipe" and "realm" and "realms". How could i go about removing commands that i do not need? Also i odnt understand the door and remove door. i might just remove those two as well. and how could i edit the review command? instead of Op i want it to say Staff. Sorry for all this lol

Jonty800
Offline
Posts: 280
Joined: August 21st, 2011, 6:31 am
Location: United Kingdom
Contact:

Re: /xban command

Post by Jonty800 »

/au70 cant really be removed
realm and guestwipe can be unticked in configGUI
/door is to be used on already-placed blocks, then /door them as you wood for a zone. /removedoor if you already have one.
I'll change Op to staff for the next version I upload, seems better like that.

As for blockdb, you HAVE to edit it in the config.xml.
if that section is not there, paste it into the advanced section.

Here is what an unmodified config.xml looks like:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<fCraftConfig version="146">
  <Section name="General">
    <!--<ServerName>Custom Minecraft Server (fCraft)</ServerName>-->
    <!--<MOTD>Welcome to the server!</MOTD>-->
    <!--<MaxPlayers>20</MaxPlayers>-->
    <!--<MaxPlayersPerWorld>20</MaxPlayersPerWorld>-->
    <!--<DefaultRank></DefaultRank>-->
    <!--<IsPublic>False</IsPublic>-->
    <!--<Port>25565</Port>-->
    <!--<UploadBandwidth>100</UploadBandwidth>-->
    <!--<LoadPlugins>False</LoadPlugins>-->
  </Section>
  <Section name="Chat">
    <!--<RankColorsInChat>True</RankColorsInChat>-->
    <!--<RankColorsInWorldNames>True</RankColorsInWorldNames>-->
    <!--<RankPrefixesInChat>False</RankPrefixesInChat>-->
    <!--<RankPrefixesInList>False</RankPrefixesInList>-->
    <!--<ShowConnectionMessages>True</ShowConnectionMessages>-->
    <!--<ShowBannedConnectionMessages>True</ShowBannedConnectionMessages>-->
    <!--<ShowJoinedWorldMessages>True</ShowJoinedWorldMessages>-->
    <!--<SystemMessageColor>yellow</SystemMessageColor>-->
    <!--<HelpColor>lime</HelpColor>-->
    <!--<SayColor>green</SayColor>-->
    <!--<AnnouncementColor>green</AnnouncementColor>-->
    <!--<PrivateMessageColor>aqua</PrivateMessageColor>-->
    <!--<MeColor>purple</MeColor>-->
    <!--<WarningColor>red</WarningColor>-->
    <!--<AnnouncementInterval>0</AnnouncementInterval>-->
  </Section>
  <Section name="Worlds">
    <!--<DefaultBuildRank></DefaultBuildRank>-->
    <!--<MapPath>maps</MapPath>-->
  </Section>
  <Section name="Security">
    <!--<VerifyNames>Balanced</VerifyNames>-->
    <!--<MaxConnectionsPerIP>0</MaxConnectionsPerIP>-->
    <!--<AllowUnverifiedLAN>False</AllowUnverifiedLAN>-->
    <!--<PatrolledRank></PatrolledRank>-->
    <!--<AntispamMessageCount>4</AntispamMessageCount>-->
    <!--<AntispamInterval>5</AntispamInterval>-->
    <!--<AntispamMuteDuration>5</AntispamMuteDuration>-->
    <!--<AntispamMaxWarnings>2</AntispamMaxWarnings>-->
    <!--<PaidPlayersOnly>False</PaidPlayersOnly>-->
    <!--<RequireBanReason>False</RequireBanReason>-->
    <!--<RequireKickReason>False</RequireKickReason>-->
    <!--<RequireRankChangeReason>False</RequireRankChangeReason>-->
    <!--<AnnounceKickAndBanReasons>True</AnnounceKickAndBanReasons>-->
    <!--<AnnounceRankChanges>True</AnnounceRankChanges>-->
    <!--<AnnounceRankChangeReasons>True</AnnounceRankChangeReasons>-->
  </Section>
  <Section name="SavingAndBackup">
    <!--<SaveInterval>90</SaveInterval>-->
    <!--<BackupOnStartup>True</BackupOnStartup>-->
    <!--<BackupOnJoin>False</BackupOnJoin>-->
    <!--<BackupOnlyWhenChanged>True</BackupOnlyWhenChanged>-->
    <!--<DefaultBackupInterval>20</DefaultBackupInterval>-->
    <!--<MaxBackups>0</MaxBackups>-->
    <!--<MaxBackupSize>0</MaxBackupSize>-->
    <!--<BackupDataOnStartup>True</BackupDataOnStartup>-->
  </Section>
  <Section name="Logging">
    <!--<LogMode>OneFile</LogMode>-->
    <!--<MaxLogs>0</MaxLogs>-->
  </Section>
  <Section name="IRC">
    <!--<IRCBotEnabled>False</IRCBotEnabled>-->
    <!--<IRCBotNick>MinecraftBot</IRCBotNick>-->
    <!--<IRCBotNetwork>irc.esper.net</IRCBotNetwork>-->
    <!--<IRCBotPort>6667</IRCBotPort>-->
    <!--<IRCBotChannels>#changeme</IRCBotChannels>-->
    <!--<IRCBotForwardFromServer>False</IRCBotForwardFromServer>-->
    <!--<IRCBotForwardFromIRC>False</IRCBotForwardFromIRC>-->
    <!--<IRCBotAnnounceServerJoins>False</IRCBotAnnounceServerJoins>-->
    <!--<IRCBotAnnounceIRCJoins>False</IRCBotAnnounceIRCJoins>-->
    <!--<IRCBotAnnounceServerEvents>False</IRCBotAnnounceServerEvents>-->
    <!--<IRCRegisteredNick>False</IRCRegisteredNick>-->
    <!--<IRCNickServ>NickServ</IRCNickServ>-->
    <!--<IRCNickServMessage>IDENTIFY passwordGoesHere</IRCNickServMessage>-->
    <!--<IRCMessageColor>purple</IRCMessageColor>-->
    <!--<IRCDelay>750</IRCDelay>-->
    <!--<IRCThreads>1</IRCThreads>-->
    <!--<IRCUseColor>True</IRCUseColor>-->
  </Section>
  <Section name="Advanced">
    <!--<RelayAllBlockUpdates>False</RelayAllBlockUpdates>-->
    <!--<UpdaterMode>Prompt</UpdaterMode>-->
    <!--<RunBeforeUpdate></RunBeforeUpdate>-->
    <!--<RunAfterUpdate></RunAfterUpdate>-->
    <!--<BackupBeforeUpdate>True</BackupBeforeUpdate>-->
    <!--<NoPartialPositionUpdates>False</NoPartialPositionUpdates>-->
    <!--<ProcessPriority>Normal</ProcessPriority>-->
    <!--<BlockUpdateThrottling>2048</BlockUpdateThrottling>-->
    <!--<TickInterval>100</TickInterval>-->
    <!--<LowLatencyMode>False</LowLatencyMode>-->
    <!--<SubmitCrashReports>True</SubmitCrashReports>-->
    <!--<MaxUndo>2000000</MaxUndo>-->
    <!--<ConsoleName>(console)</ConsoleName>-->
    <!--<AutoRankEnabled>False</AutoRankEnabled>-->
    <!--<HeartbeatEnabled>True</HeartbeatEnabled>-->
    <!--<IP>0.0.0.0</IP>-->
    <!--<BandwidthUseMode>Normal</BandwidthUseMode>-->
    <!--<RestartInterval>0</RestartInterval>-->
    <!--<EnableBlockDB>False</EnableBlockDB>-->
  </Section>
  <ConsoleOptions>
    <SystemActivity />
    <Warning />
    <Error />
    <SeriousError />
    <UserActivity />
    <UserCommand />
    <SuspiciousActivity />
    <GlobalChat />
    <PrivateChat />
    <RankChat />
    <ConsoleOutput />
    <IRC />
    <Trace />
  </ConsoleOptions>
  <LogFileOptions>
    <SystemActivity />
    <Warning />
    <Error />
    <SeriousError />
    <UserActivity />
    <UserCommand />
    <SuspiciousActivity />
    <GlobalChat />
    <PrivateChat />
    <RankChat />
    <ConsoleInput />
    <ConsoleOutput />
    <IRC />
    <Debug />
    <Trace />
  </LogFileOptions>
  <Ranks>
    <Rank name="owner" id="OwXLWemabSs9uoFc" color="red" prefix="+" antiGriefBlocks="0" antiGriefSeconds="0" reserveSlot="true" allowSecurityCircumvention="true" copySlots="2">
      <Chat />
      <Build />
      <Delete />
      <PlaceGrass />
      <PlaceWater />
      <PlaceLava />
      <PlaceAdmincrete />
      <DeleteAdmincrete />
      <ViewOthersInfo />
      <ViewPlayerIPs />
      <EditPlayerDB />
      <Say />
      <ReadStaffChat />
      <UseColorCodes />
      <UseSpeedHack />
      <Kick max="owner#OwXLWemabSs9uoFc" />
      <Ban max="owner#OwXLWemabSs9uoFc" />
      <BanIP />
      <BanAll />
      <Promote max="owner#OwXLWemabSs9uoFc" />
      <Demote max="owner#OwXLWemabSs9uoFc" />
      <Hide />
      <Draw />
      <DrawAdvanced />
      <UndoOthersActions />
      <CopyAndPaste />
      <Teleport />
      <Bring />
      <BringAll />
      <Patrol />
      <Spectate />
      <Freeze />
      <Mute />
      <SetSpawn />
      <Lock />
      <ManageZones />
      <ManageWorlds />
      <ManageBlockDB />
      <Import />
      <ReloadConfig />
      <ShutdownServer />
    </Rank>
    <Rank name="op" id="Tvwn64EINlxrB0Nj" color="aqua" prefix="-" antiGriefBlocks="0" antiGriefSeconds="0" copySlots="2">
      <Chat />
      <Build />
      <Delete />
      <PlaceGrass />
      <PlaceWater />
      <PlaceLava />
      <PlaceAdmincrete />
      <DeleteAdmincrete />
      <ViewOthersInfo />
      <ViewPlayerIPs />
      <Say />
      <ReadStaffChat />
      <UseColorCodes />
      <UseSpeedHack />
      <Kick max="op#Tvwn64EINlxrB0Nj" />
      <Ban max="builder#7USh623gHtWpj1fs" />
      <BanIP />
      <Promote max="builder#7USh623gHtWpj1fs" />
      <Demote max="builder#7USh623gHtWpj1fs" />
      <Hide />
      <Draw />
      <DrawAdvanced />
      <UndoOthersActions />
      <CopyAndPaste />
      <Teleport />
      <Bring />
      <Patrol />
      <Spectate />
      <Freeze />
      <Mute />
      <SetSpawn />
      <Lock />
      <ManageZones />
    </Rank>
    <Rank name="builder" id="7USh623gHtWpj1fs" color="white" antiGriefBlocks="47" antiGriefSeconds="6" drawLimit="4096" idleKickAfter="20" copySlots="2">
      <Chat />
      <Build />
      <Delete />
      <PlaceGrass />
      <PlaceWater />
      <PlaceLava />
      <PlaceAdmincrete />
      <DeleteAdmincrete />
      <ViewOthersInfo />
      <UseSpeedHack />
      <Kick max="builder#7USh623gHtWpj1fs" />
      <Draw />
      <Teleport />
    </Rank>
    <Rank name="guest" id="xMJGiNlDNVY5byq7" color="silver" antiGriefBlocks="37" antiGriefSeconds="5" drawLimit="512" idleKickAfter="20" copySlots="2">
      <Chat />
      <Build />
      <Delete />
      <UseSpeedHack />
    </Rank>
  </Ranks>
  <LegacyRankMapping />
</fCraftConfig>
You cannot use certain BBCodes: [img].

User avatar
fragmer
fCraft Developer
Offline
Posts: 1386
Joined: May 21st, 2011, 10:53 pm

Re: /xban command

Post by fragmer »

If you delete your config.xml, then run ConfigGUI and click "OK" without changing anything, you will get the very same default config.xml

Also note that I will not be able to provide support for any problems that may result from using modified copies of fCraft.

Also, please disable crash reporting if you are using a modified copy of fCraft. It's a checkbox on the "Advanced" tab of ConfigGUI.

roblikescake
Offline
Posts: 43
Joined: August 20th, 2011, 3:34 am

Re: /xban command

Post by roblikescake »

so jonty ive been using your modded fCraft for a while now. i love it. is it possible to change the guestwipe command? instead of guests, i have noobs. instead of guest map, i have noob1, noob2, and noob3. could i simply edit the code to make it work with those maps?


and to fragmer, do you have a possible timeframe on when the /undo playername time command will be released? my noob maps get griefed ALOT, and its disappointing to continuously wipe them instead of undoing the grief with a command.

Jonty800
Offline
Posts: 280
Joined: August 21st, 2011, 6:31 am
Location: United Kingdom
Contact:

Re: /xban command

Post by Jonty800 »

You can change guestwipe command to replace any map in the code.

The code is not up yet.

Version 800.3.0 is up.

I will upload the source in a few days when I fix a stupid bug.
You cannot use certain BBCodes: [img].

User avatar
fragmer
fCraft Developer
Offline
Posts: 1386
Joined: May 21st, 2011, 10:53 pm

Re: /xban command

Post by fragmer »

I dont have a timeline. It'll be at least 2 more weeks of work.

I'm going to mark this one as "rejected." All the functionality already exists in fCraft, I dont feel like a dedicated command is needed.

Locked