summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
authorgepard1984 <gepard1984@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-02-13 01:19:04 +0000
committergepard1984 <gepard1984@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-02-13 01:19:04 +0000
commit526217d77d50dc27b0815e3d5895df7bfa38ff76 (patch)
tree9fb6152ef59b7d08e7f226fbdc47eb6ba9617cc6 /conf
parent87469dc59de62990878ce6ccd29769ebd5b7d675 (diff)
downloadhercules-526217d77d50dc27b0815e3d5895df7bfa38ff76.tar.gz
hercules-526217d77d50dc27b0815e3d5895df7bfa38ff76.tar.bz2
hercules-526217d77d50dc27b0815e3d5895df7bfa38ff76.tar.xz
hercules-526217d77d50dc27b0815e3d5895df7bfa38ff76.zip
- Added `libconfig` (configuration file library: http://www.hyperrealm.com/libconfig/):
- Updated VS9/10 project files. - Updated `configure` & `Makefile`s. - New GM, Commands & Permissions system: - '''This is a backwards compatibility breaking update''', please read tid:58877 - Replaced GM levels with Player Groups. - Commands permissions & other privileges now depend on group, not GM level. - `@help` command improvements: requires "commandname" param and shows more detailed info about commands. - Modified GM whisper system to deliver messages basing on permissions, not GM level. - Remote trade request is now possible only if player is allowed to use `@trade` command as well. - Added a proper permission to use `/changemaptype` command. - `clif_displaymessage` is now capable of displaying multiline messages. - All `ACMD_FUNC`s are static now, and the only way to invoke them is with `is_atcommand()`; all client commands (starting with `/`) are now translated into corresponding atcommands (with exception of `/kick` used on monster, as there is no atcommand to kill single monster). - Removed nonsense "bot check" triggering when player blocked (`/ex`) Server. - Merged `@monster`, `@monsterbig` and `@monstersmall`. - Improved flow of atcommand execution to avoid revealing info about online players or existing commands to non-privileged players. - Merged `atcommand` and `charcommand` script functions (`charcommand` is aliased to `atcommand`). - Fixed `atcommand` script function reading unknown memory area (possible access violation). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15572 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'conf')
-rw-r--r--conf/atcommand_athena.conf813
-rw-r--r--conf/battle/gm.conf87
-rw-r--r--conf/char_athena.conf6
-rw-r--r--conf/groups.conf274
-rw-r--r--conf/help.txt402
-rw-r--r--conf/help2.txt94
-rw-r--r--conf/import-tmpl/atcommand_conf.txt0
-rw-r--r--conf/log_athena.conf6
-rw-r--r--conf/login_athena.conf7
-rw-r--r--conf/msg_athena.conf12
10 files changed, 577 insertions, 1124 deletions
diff --git a/conf/atcommand_athena.conf b/conf/atcommand_athena.conf
index ce06e2b37..58813c1c7 100644
--- a/conf/atcommand_athena.conf
+++ b/conf/atcommand_athena.conf
@@ -1,753 +1,60 @@
-//--------------------------------------------------------------
-// rAthena atcommand/charcommand Configuration File
-//--------------------------------------------------------------
-
-// The symbol that will be used to recognize commands.
-// You can set any one character except control-characters (0x00-0x1f),
-// '%', '$' (party/guild chat speaking) and '/' (standard client commands).
-// command_symbol represents @commands used locally
-// char_symbol represents #commands used on other players.
-command_symbol:@
-char_symbol:#
-
-// The following settings in this file use the format "<command name>: level(@),level(#)".
-// They define the minimum GM level required to execute the associated command.
-// @ = atcommand. most work only on yourself.
-// # = charcommand. remote usage only. GMs will be able to use these on other players.
-// Adjust values as you like. Note that to activate commands for normal players,
-// (GM level 0), you also need to change the 'atcommand_gm_only' option to 'no'.
-// To completely disable a command, set its required GM level to 100.
-
-// Default levels were chosen so that they form the following hierarchy:
-// 0: Normal player
-// -> no commands accessible
-// 1: Super player
-// -> some minor advantage: storage, petrename, etc...
-// 10: Super player+
-// -> more powerful commands, like mobsearch and changegm
-// 20: Mediator
-// -> GM commands for finding players and moving to them (also kicking them)
-// 40: Sub-GM
-// -> GM commands for basic tasks, no significant impact on other players
-// 50: Sub-GM+
-// -> GM commands to spawn mobs and create guilds
-// 60: GM
-// -> almost all commands available (except administration and mass commands)
-// 80: GM Chief
-// -> can do anything, except administration commands
-// 99: Administrator
-// -> can do anything!
-// 100: Disabled
-// -> commands that will not be available to anyone
-
-// Syntax of file:
-// command: @level,#level [<alias commands seperated by commas>]
-
-// Syntax Example:
-// command: 40,40 [alias,alias2,alias3,alias4]
-// If it has more than 4 aliases you can keep adding, just like in the example below:
-
-// Example:
-// blvl: 60,60 [lvup,blevel,baselvl,baselvup,baselevel,baselvlup]
-
-//--------------------------
-// 0: normal player commands
-// None for security purposes.
-
-//-------------------------
-// 1: Super player commands
-
-// Displays a list of @ commands available to the player.
-commands: 1,1
-
-// Displays a list of # commands available to the player.
-charcommands: 1,1
-
-// Displays the server rates.
-rates: 1,1
-
-// Show server uptime since last map server restart
-uptime: 1,1
-
-// Shows/Hides the "there is a delay after a skill" message.
-showdelay: 1,1
-
-// Displays current levels and % progress.
-exp: 1,40
-
-// To change your (own) email
-// note: this command doesn't check email itself, but check structure of the email (xxx@xxx)
-// if you want be sure of each e-mail disable this option (value: 100)
-email: 1,60
-
-// Show Monster info (rates, stats, drops, MVP stuff)
-monsterinfo: 1,1 [mobinfo, mi]
-
-// Show Item info (type, price, etc)
-iteminfo: 1,1 [ii]
-
-// Show who drops an item (mobs with highest drop rate)
-whodrops: 1,1
-
-// Syncs the player's position on the client with the one stored on the server.
-refresh: 1,40
-
-// Give server time. (4 same commands)
-time: 1,1 [date,serverdate,servertime]
-
-// Displays SVN version of the server.
-version: 1,1
-
-// Suicide your character.
-die: 1,1
-
-// Enables you to rename your pet.
-petrename: 1,50
-
-// Organize a new party, with you as the party leader
-party: 1,1
-
-// Opens your Kafra storage wherever you are
-storage: 1,1
-
-// Opens your mailbox
-mail: 1,1
-
-// Opens auctions window
-auction: 1,1
-
-// Locate someone on a map, returns your coordinates if the person isn't on.
-where: 1,1
-
-// Duel organizing commands
-duel: 1,1
-invite: 1,1
-accept: 1,1
-reject: 1,1
-leave: 1,1
-
-// Main chat
-main: 1,1
-
-// Autorejecting Deals/Invites
-noask: 1,1
-
-// Displays remaining jail time
-jailtime: 1,40
-
-// Homunculus commands for players
-hominfo: 1,40
-homstats: 1,40
-
-// Kill Steal Protection
-noks: 1,1
-
-// Set Font
-font: 1,1
-
-//---------------------------
-// 10: Super player+ commands
-
-// Displays/Hides Experience gained messages
-showexp: 10,10
-
-// Displays/Hides Zeny gained messages
-showzeny: 10,10
-
-// Warps you to predefined locations in major cities.
-go: 10,10
-
-// Enables/disables autolooting from killed mobs.
-autoloot: 10,10
-
-// Enables/disables autolooting an item.
-alootid: 10,10
-
-// Allows you continue vending offline.
-autotrade: 10,10 [at]
-
-// Change Guild Master of your Guild
-changegm: 10,10
-
-// Change the leader of your party.
-changeleader: 10,10
-
-// Change the party exp- and item share rules.
-partyoption: 10,10
-
-// Command what the player's pet will say.
-pettalk: 10,10
-
-// Command what the player's homunculus will say.
-homtalk: 10,10
-
-// Locates and displays the position of a certain mob on the current map.
-mobsearch: 10,10
-// Locates and displays the position of a certain mob on your mini-map
-showmobs: 10,10
-// Prints out in which maps a monster normally spawns at (does not count script-invoked mobs)
-whereis: 10,10
-
-// Resets a Star Gladiator's marked maps
-feelreset: 10,60
-
-//----------------------
-// 20: Mediator commands
-
-// Displays helpfile in rAthena base directory (2 same commands).
-help: 20,20 [h]
-help2: 20,20 [h2]
-
-// Warp yourself to a person (3 same commands + /shift).
-goto: 20,20 [jumpto,warpto]
-
-// Displays the motd file to all players
-gmotd: 20,20
-
-// Follow a player (including warping to them)
-follow: 20,20
-
-// Sends a request to all connected GMs (via the gm whisper system)
-request: 20,100
-
-// Disconnects a user from the server (1 command + right click menu for GM "(name) force to quit").
-kick: 20,20
-
-// Changes your appearance.
-model: 20,50
-
-// To get a peco to (un)ride (2 same commands).
-mount: 20,50 [mountpeco]
-
-// Returns list of logged in characters with their position (2 same commands).
-who: 20,20 [whois]
-
-// Returns list of logged in characters with their job.
-who2: 20,20
-
-// Returns list of logged in characters with their party/guild.
-who3: 20,20
-
-// Returns list of logged in characters with their position in a specifical map.
-whomap: 20,20
-
-// Returns list of logged in characters with their job in a specifical map.
-whomap2: 20,20
-
-// Returns list of logged in characters with their party/guild in a specifical map.
-whomap3: 20,20
-
-// Displays GMs online. For those who are higher GM level than yourself,
-// only the name is shown, for the rest, it displays the same info of
-// @who+@who2+who3
-whogm: 20,20
-
-// Change your appearence to other players to a mob.
-disguise: 20,60
-
-// Restore your normal appearance.
-undisguise: 20,20
-
-// Displays the text as a normal message with the format "*name message*"
-// instead of "name : message" (Like the /me command in IRC)
-me: 20,20
-
-// Changes your name to your choice temporarily.
-fakename: 20,50
-
-// Changes your size.
-size: 20,50
-
-// Can command what other npcs (by name) can say.
-npctalk: 20,100 [npctalkc]
-
-//--------------------
-// 40: Sub-GM commands
-
-// Broadcast to the whole server. Using (1 command + /nb, /b).
-broadcast: 40,40
-
-// Broadcast to the map you are on (1 command + /lb, /nlb).
-localbroadcast: 40,40
-
-// Broadcast (with or without name)
-kami: 40,40
-// Same as kami but with blue color
-kamib: 40,40
-// Same as kami but you can choose the color (uses different packet)
-kamic: 40,40
-
-// Enables GvG on a map (2 same commands).
-gvgon: 40,100 [gpvpon]
-
-// Turns GvG (Guild vs. Guild) off on a map (2 same commands).
-gvgoff: 40,100 [gpvpoff]
-
-// Activate/Deactivate kill steal protection on a map
-allowks: 40,100
-
-// Modifies your HP/SP.
-heal: 40,60
-
-// GM Hide (total invisibility to characters and monsters) (1 command + /hide).
-hide: 40,60
-
-// Changes your job to one you specify (2 same commands).
-job: 40,60 [jobchange]
-
-// Enables you to to jump randomly on a map (that you are already on).
-jump: 40,40
-
-// Warps you to your last save point (2 same commands).
-load: 40,60 [return]
-
-// Warps you to a specific npc
-tonpc: 40,40
-
-// Saves a warp point.
-memo: 40,40
-
-// Set your character display options. (Visual effects of your character)
-option: 40,60
-
-// Sets the level of intemecy of your pet.
-petfriendly: 40,50
-
-// Sets hunger level of your pet.
-pethungry: 40,50
-
-// Turns PvP (Person vs. Person) off on a map.
-pvpoff: 40,100
-
-// Enables PvP on a map.
-pvpon: 40,100
-
-// Permanently adds a quest skill
-questskill: 40,60
-
-// Permanently removes a quest skill
-lostskill: 40,60
-
-// Sets the speed you can walk/attack at. Default is 150.
-speed: 40,60
-
-// Summons spirit spheres around you.
-spiritball: 40,60
-
-// Warp yourself to a certain map, at (x,y) coordinates (2 same commands) + also /mm or /mapmove.
-warp: 40,60 [rura,mapmove]
-
-// Changes GM clothes color (2 same commands)
-dye: 40,50 [ccolor]
-
-// Changes GM hair style (2 same commands)
-hairstyle: 40,40 [hstyle]
-
-// Changes GM hair color (2 same commands)
-haircolor: 40,50 [hcolor]
-
-// Deletes all your items.
-itemreset: 40,60
-
-// Does a skill/stat reset.
-reset: 40,60
-
-// Displays distribution of players on the server per map (% on each map which has players)
-users: 40,40
-
-// Deletes floor items in your range of sight
-cleanmap: 40,40
-
-// Kill all monsters in map (without drops)
-killmonster2: 40,40
-
-// Sets your spawn point (aka save point).
-save: 40,60
-
-// Do some visual effect on your character
-effect: 40,40
-
-// Do some visual effect on your character (misceffect)
-misceffect: 40,40
-
-// GM's magnifier
-identify: 40,40
-
-// Drop all your items
-dropall: 40,60
-
-// Store all your items
-storeall: 40,60
-
-// Allow other players to hit you out of PvP
-killable: 40,60
-
-// Look up a skill by name
-skillid: 40,40
-
-// Use a skill by id
-useskill: 40,40
-
-// What skills are required to get this skill
-skilltree: 40,40
-
-// Marriage commands
-marry: 40,40
-divorce: 40,40
-
-// Adopt a novice into a family
-adopt: 40,40
-
-// Play a Sound!
-sound: 40,40
-
-// Displays a player's storage
-storagelist: 40,40
-
-// Displays a player's cart contents
-cartlist: 40,40
-
-// Displays a player's items
-itemlist: 40,40
-
-// Displays a player's stats
-stats: 40,40
-
-//---------------------
-// 50: Sub-GM+ commands
-
-// Creates a new guild, with you as the guildmaster.
-guild: 50,50
-
-// Brings up your guild storage wherever you are.
-gstorage: 50,60
-
-// Spawns a monster, and a certain amount (2 same commands + /monster).
-monster: 50,50 [spawn]
-
-// Spawns a smaller sized version of a monster.
-monstersmall: 50,50
-
-// Spawns a larger sized version of a monster.
-monsterbig: 50,50
-
-// Spawns mobs that treat you as their master (they disappear after some time)
-summon: 50,50
-
-// It will spawn a supportive clone of the given player.
-clone: 50,50
-
-// It will spawn a supportive clone of the given player that follows the creator around.
-slaveclone: 50,50
-
-// It will spawn an aggresive clone of the given player.
-evilclone: 50,50
-
-//----------------
-// 60: GM commands
-
-// Add or Remove Cash Points to/from yourself
-cash: 60,60
-
-// Add or Remove Kafra Points to/from yourself
-points: 60,60
-
-// Starts Guild Wars
-agitstart: 60,100
-
-// Ends Guild Wars
-agitend: 60,100
-
-// Resurects yourself.
-alive: 60,60
-
-// Raises your base level by specified amount (7 same commands).
-blvl: 60,60 [lvup,blevel,baselvl,baselvup,baselevel,baselvlup]
-
-// Raises your job level by specified amount (6 same commands).
-jlvl: 60,60 [jlevel,joblvl,joblvup,joblevel,joblvlup]
-
-// Changes the sex of yourself
-changesex: 60,60
-
-// Raises your guild level by specified amount (6 same commands).
-glvl: 60,60 [glevel,guildlvl,guildlvup,guildlevel,guildlvlup]
-
-// Find an itemID based on item name
-idsearch: 60,60
-
-// Creates an item of your choosing, either Item ID or Name (1 command + /item).
-item: 60,60
-
-// Creates a complet item (card, etc...) of your choosing, either Item ID or Name.
-item2: 60,60
-
-// Deletes an item of your choosing, either Item ID or Name.
-delitem: 60,60
-
-// Kill another character without hitting them.
-kill: 60,60
-
-// Kill all monsters in map (with drops)
-killmonster: 60,60
-
-// Creates yourself a pet egg.
-makeegg: 60,60
-
-// Hatches an egg
-hatch: 60,60
-
-// Instantly kills player whose name is entered and deals insane damage to everything around
-nuke: 60,60
-
-// Enable hitting a player even when not in PvP
-killer: 60,60
-
-// Creates weapon of desired element.
-produce: 60,60
-
-// Warps a character to you (1 command + /recall).
-recall: 60,60
-
-// Refines all weapons in your items list.
-refine: 60,80
-
-// Will repair all broken items in inventory.
-repairall: 60,60
-
-// Change Status of your character
-str: 60,60
-agi: 60,60
-vit: 60,60
-int: 60,60
-dex: 60,60
-luk: 60,60
-
-// Gives all skills
-allskill: 60,60 [allskills,skillall,skillsall]
-
-// Sets GM stats to maximum
-allstats: 60,60 [allstat,statall,statsall]
-
-// Gives you stat points.
-stpoint: 60,60
-
-// Gives you skill points of desired amount.
-skpoint: 60,60
-
-// Warps all online character of a guild to you. (at least one member of that guild must be on.)
-guildrecall: 60,60
-
-// Warps all online character of a party to you.
-// (at least one party member must be online.)
-partyrecall: 60,60
-
-// Allows you to spy on any Guilds Guild chat.
-// (at least one member of that guild must be on.)
-// NOTE: map server needs to be configured to enable spying to use this command (enable_spy: yes)
-guildspy: 60,60
-
-// Allows you to spy on any party's party chat.
-// (at least one party member must be online.)
-// NOTE: map server needs to be configured to enable spying to use this command (enable_spy: yes)
-partyspy: 60,60
-
-// Gives you zeny (or subtracts, if amount is negative)
-zeny: 60,80
-
-// Block a player indefinitely
-block: 60,100 [charblock]
-
-// Unblock a player
-unblock: 60,100 [charunblock]
-
-// Ban a player for a limited time
-ban: 60,100 [banish,charban,charbanish]
-
-// Unban a player
-unban: 60,100 [unbanish,charunban,charunbanish]
-
-// To send specified character in jails
-jail: 60,100
-
-// To discharge a jailed character (2 same commands)
-unjail: 60,100 [discharge]
-
-// Timed jailing
-jailfor: 60,60
-
-// Create a static warp portal that lasts until the next reboot
-addwarp: 60,60
-
-// Open a trade window with any player
-trade: 60,60
-
-// Changes the player's appearance (headgear)
-changelook: 60,60
-
-// Homunculus commands for GMs
-hlvl: 60,60 [homlevel,hlevel,homlvl,homlvup]
-homevolve: 60,60 [homevolution]
-makehomun: 60,60
-homfriendly: 60,60
-homhungry: 60,60
-// Re-calculates stats, as if the homun was sent back to level 1 and re-leveled
-homshuffle: 60,60
-
-// WoE 2 start/stop commands
-agitstart2: 60,100
-agitend2: 60,100
-
-// Resets player stats
-streset: 60,60
-
-// Resets player skills
-skreset: 60,60
-
-//----------------------
-// 80: GM Chief commands
-
-// Set the server to day.
-day: 80,100
-
-// Set the server to night.
-night: 80,100
-
-// Kills everyone on the server.
-doom: 80,100
-
-// Kills everyone on the map you are on.
-doommap: 80,80
-
-// Recalls Everyone To Your Coordinates
-recallall: 80,80
-
-// Revives all players on the map.
-raisemap: 80,80
-
-// Revives all players on the server.
-raise: 80,100
-
-// Hides a NPC.
-hidenpc: 80,100
-
-// Unhides a NPC.
-shownpc: 80,100
-
-// Loads an NPC script by path
-loadnpc: 80,100
-
-// Unloads a NPC
-unloadnpc: 80,100
-
-// Move a NPC
-npcmove: 80,100
-
-// turn skills on for a map
-skillon: 80,100
-
-// turn skills off for a map
-skilloff: 80,100
-
-// Mute a player (prevents talking, usage of skills and commands)
-mute: 80,100
-
-// Unmute a player
-unmute: 80,100
-
-//---------------------------
-// 99: Administrator commands
-
-// Disconnect all users from the server
-kickall: 99,100
-
-// Closes Map-Server
-mapexit: 99,100
-
-// Used for testing packet sends from the client (debug function)
-send: 99,100
-
-// Give information about terrain/area (debug function)
-gat: 99,100
-
-// Displays a status change without really applying it (debug function)
-displaystatus: 99,100
-
-// Displays the animation of a skill without really using it (debug function)
-displayskill: 99,100
-
-// Shows information about the map
-mapinfo: 99,100
-
-// Set Map Flags
-mapflag: 99,100
-
-// Re-load item database (admin command)
-reloaditemdb: 99,100
-
-// Re-load monsters database (admin command)
-reloadmobdb: 99,100
-
-// Re-load skills database (admin command)
-reloadskilldb: 99,100
-
-// Re-load scripts (admin command)
-reloadscript: 99,100
-
-// Change a battle_config flag without rebooting server
-setbattleflag: 99,100
-
-// Re-load gm command config (admin command)
-reloadatcommand: 99,100
-
-// Re-load battle config (admin command)
-// Note that some player config settings won't take effect until relog
-// (display exp, display zeny, display skill delay fail, ...)
-reloadbattleconf: 99,100
-
-// Re-load status database (admin command)
-reloadstatusdb: 99,100
-
-// Re-load player info database (admin command)
-reloadpcdb: 99,100
-
-// Re-load the Message of the Day (admin command)
-reloadmotd: 99,100
-
-// Changes the GM level of another character
-// (lasts until reboot, or gm list reload)
-adjgmlvl: 99,100
-
-// Changes the required GM level of an @ command
-// (effect lasts until restart or command reload)
-adjcmdlvl: 99,100
-
-// [Un]Disguise All Players (admin command)
-disguiseall: 99,100
-undisguiseall: 99,100
-
-// Mutes every player on screen (admin command)
-mutearea: 99,100 [stfu]
-
-// Makes you immune to attacks (monsters/players/skills cannot target/hit you, admin command)
-battleignore: 99,100 [monsterignore]
-
-//---------------------------------------------------------------
-// 99: Weather effects
-snow: 99,100
-clouds: 99,100
-clouds2: 99,100
-fog: 99,100
-fireworks: 99,100
-sakura: 99,100
-leaves: 99,100
-
-// Stop all weather effects
-clearweather: 99,100
-
-//---------------------------------------------------------------
-// 100: Disabled commands
-
-//---------------------
-// OTHER: not a command
-import:conf/import/atcommand_conf.txt \ No newline at end of file
+/* Atcommands and charcommands configuration file */
+
+/* The symbol that will be used to recognize commands.
+You can set any one character except:
+ - control-characters (0x00-0x1f),
+ - '%' (party chat symbol)
+ - '$' (guild chat symbol)
+ - '/' (client commands symbol)
+atcommand_symbol represents @commands used locally.
+charcommand_symbol represents #commands used on other players.
+*/
+
+atcommand_symbol : "@"
+charcommand_symbol: "#"
+
+/* Command aliases
+You can define aliases for any command. Aliases work just like original
+command.
+Format is
+ <commandname>: ["<alias>", ...]
+*/
+
+aliases: {
+ mobinfo: ["monsterinfo", "mi"]
+ iteminfo: ["ii"]
+ time: ["date", "serverdate", "servertime"]
+ autotrade: ["at"]
+ help: ["h"]
+ jumpto: ["goto", "warpto"]
+ mount: ["mountpeco"]
+ who: ["whois"]
+ npctalk: ["npctalkc"]
+ gvgon: ["gpvpon"]
+ gvgoff: ["gpvpoff"]
+ jobchange: ["job"]
+ load: ["return"]
+ warp: ["rura", "mapmove"]
+ dye: ["ccolor"]
+ hairstyle: ["hstyle"]
+ haircolor: ["hcolor"]
+ monster: ["spawn"]
+ blvl: ["lvup", "blevel", "baselvl", "baselvup", "baselevel", "baselvlup"]
+ jlvl: ["jlevel", "joblvl", "joblvup", "joblevel", "joblvlup"]
+ glvl: ["glevel", "guildlvl", "guildlvup", "guildlevel", "guildlvlup"]
+ allskill: ["allskills", "skillall", "skillsall"]
+ allstats: ["allstat", "statall", "statsall"]
+ ban: ["banish"]
+ unban: ["unbanish"]
+ unjail: ["discharge"]
+ homlevel: ["hlvl", "hlevel", "homlvl", "homlvup"]
+ homevolution: ["homevolve"]
+ mutearea: ["stfu"]
+ monsterignore: ["battleignore"]
+ raise: ["revive"]
+}
+
+/* Commands help file */
+help: {
+ @include "conf/help.txt"
+} \ No newline at end of file
diff --git a/conf/battle/gm.conf b/conf/battle/gm.conf
index b7dc81909..fe07a6fc4 100644
--- a/conf/battle/gm.conf
+++ b/conf/battle/gm.conf
@@ -18,97 +18,10 @@ atcommand_slave_clone_limit: 25
// current map server.
partial_name_scan: yes
-// The level at which a player with access is considered a GM.
-// An account with an access level lower than this is not effected
-// by gm_can_drop_lv (battle_athena.conf).
-lowest_gm_level: 1
-
-// [GM] Can use all skills? (No or mimimum GM level)
-gm_all_skill: no
-
-// [GM] Can equip anything? (No or minimum GM level, can cause client errors.)
-gm_all_equipment: no
-
-// [GM] Can use skills without meeting the required conditions (items, etc...)?
-// 'no' or minimum GM level to bypass requirements.
-gm_skill_unconditional: no
-
-// [GM] Can join a password protected chat? (No or mimimum GM level)
-gm_join_chat: no
-
-// [GM] Can't be kicked from a chat? (No or mimimum GM level)
-gm_kick_chat: no
-
-// (@) GM Commands available only to GM's? (Note 1)
-// set to 'No', Normal players (gm level 0) can use GM commands _IF_ you set the command level to 0.
-// set to 'Yes', Normal players (gm level 0) can never use a GM command even if you set the command level to 0.
-atcommand_gm_only: no
-
// (@) @allstats/@str/@agi/@vit/@int/@dex/@luk
// allow gms to bypass the maximum stat parameter? ( if yes gm stats can go up to 32k ) default: no
atcommand_max_stat_bypass: no
-// Is the character of a GM account set as the object of a display by @ command etc. or not?
-hide_GM_session: no
-
-// At what GM level can you see GMs and Account/Char IDs in the @who command?
-who_display_aid: 40
-
// Ban people that try trade dupe.
// Duration of the ban, in minutes (default: 5). To disable the ban, set 0.
ban_hack_trade: 5
-
-// Set here minimum level of a (online) GM that can receive all informations about any player that try to hack, spoof a name, etc.
-// Values are from 0 to 100.
-// 100: disable information
-// 0: send to any people, including normal players
-// default: 60, according to GM definition in atcommand_athena.conf
-hack_info_GM_level: 60
-
-// The minimum GM level to bypass nowarp and nowarpto mapflags.
-// This option is mainly used in commands which modify a character's
-// map/coordinates (like @memo, @warp, @charwarp, @go, @jump, etc...).
-// default: 20 (first level after normal player or super'normal' player)
-any_warp_GM_min_level: 20
-
-// The minimum level for a GM to be unable to distribute items.
-// You should set this to the same level @item is set to in the atcommand.conf
-// NEVER SET THIS VALUE TO 0, or you will block drop/trade for normal players
-gm_cant_drop_min_lv: 1
-
-//The trust level for your GMs. Any GMs ABOVE this level will be able to distribute items
-//ie: Use Storage/Guild Storage, Drop Items, Use Vend, Trade items.
-gm_cant_drop_max_lv: 0
-
-// Minimum GM level to see the hp of every player? (Default: 60)
-// no/0 can be used to disable it.
-disp_hpmeter: 0
-
-// Minimum GM level to view players equip regardless of their setting.
-// (Default: 0 = Disabled).
-gm_viewequip_min_lv: 0
-
-// Can GMs invite non GMs to a party? (Note 1)
-// set to 'No', GMs under the party invite trust level may not invite non GMs to a party.
-// set to 'Yes', All GMs can invite any player to a party.
-// Also, as long as this is off, players cannot invite GMs to a party as well.
-gm_can_party: no
-
-//The trust level for GMs to invite to a party. Any GMs ABOVE OR EQUAL TO this level will be able to invite normal
-//players into their party in addittion to other GMs. (regardless of gm_can_party)
-gm_cant_party_min_lv: 20
-
-// Players Titles (check msg_athena.conf for title strings)
-// You may assign different titles for your Players and GMs
-title_lvl1: 1
-title_lvl2: 10
-title_lvl3: 20
-title_lvl4: 40
-title_lvl5: 50
-title_lvl6: 60
-title_lvl7: 80
-title_lvl8: 99
-
-// Minimum GM level required for client command /check (display character status) to work.
-// Default: 60
-gm_check_minlevel: 60
diff --git a/conf/char_athena.conf b/conf/char_athena.conf
index bc9e1ab1c..1b5e96a16 100644
--- a/conf/char_athena.conf
+++ b/conf/char_athena.conf
@@ -93,8 +93,10 @@ char_new_display: 0
// Maximum users able to connect to the server. Set to 0 for unlimited.
max_connect_user: 0
-// Minimum GM level that is allowed to bypass the server limit of users.
-gm_allow_level: 99
+// Group ID that is allowed to bypass the server limit of users.
+// Default: -1 = nobody (there are no groups with ID < 0)
+// See: conf/groups.conf
+gm_allow_group: -1
// How often should the server save all files? (In seconds)
// Note: Applies to all data files on TXT servers.
diff --git a/conf/groups.conf b/conf/groups.conf
new file mode 100644
index 000000000..d93d2aa09
--- /dev/null
+++ b/conf/groups.conf
@@ -0,0 +1,274 @@
+/*
+
+Player groups configuration file
+---------------------------------
+
+This file defines "player groups" and their privileges.
+
+Each group has its id and name, lists of available commands and other
+permissions, and a list of other groups it inherits from.
+
+
+Group settings
+--------------
+<id>
+Unique group number. The only required field.
+
+<name>
+Any string. If empty, defaults to "Group <id>". It is used in several @who
+commands.
+
+<level>
+Equivalent of GM level, which was used in revisions before r xxxxx. You can
+set it to any number, but usually it's between 0 (default) and 99. Members of
+groups with lower level can not perform some actions/commands (like @kick) on
+members of groups with higher level. It is what script command getgmlevel()
+returns. Group level can also be used to override trade restrictions
+(db/item_trade.txt).
+
+<commands>
+A group of settings
+ <command name> : <bool>
+or
+ <commandname> : [ <bool>, <bool> ]
+First boolean value is for atcommand, second one for charcommand. If set to
+true, group can use command. If only atcommand value is provided, false is
+assumed for charcommand. If a command name is not included, false is assumed for
+both atcommand and charcommand.
+For a full list of available commands, see: doc/atcommands.txt.
+Command names must not be aliases.
+
+<log_commands>
+Boolean value. If true then all commands used by the group will be logged to
+atcommandlog. If setting is omitted in a group definition, false is assumed.
+Requires 'log_commands' to be enabled in 'conf/log_athena.conf'.
+
+<permissions>
+A group of settings
+ <permission> : <bool>
+If a permission is not included, false is assumed.
+For a full list of available permissions, see: doc/permissions.txt
+
+<inherit>
+A list of group names that given group will inherit commands and permissions
+from. Group names are case-sensitive.
+
+Inheritance results
+-------------------
+Both multiple inheritance (Group 2 -> Group 1 and Group 3 -> Group 1) and
+recursive inheritance (Group 3 -> Group 2 -> Group 1) are allowed.
+
+Inheritance rules should not create cycles (eg Group 1 inherits from Group 2,
+and Group inherits from Group 1 at the same time). Configuration with cycles is
+considered faulty and can't be processed fully by server.
+
+Command or permission is inherited ONLY if it's not already defined for the
+group.
+If group inherits from multiple groups, and the same command or permission is
+defined for more than one of these groups, it's undefined which one will be
+inherited.
+
+Syntax
+------
+This config file uses libconfig syntax:
+http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files
+
+
+Upgrading from revisions before XXXXX
+-------------------------------------
+<forum link>
+*/
+
+groups: (
+{
+ id: 0 /* group 0 is the default group for every new account */
+ name: "Player"
+ level: 0
+ inherit: ( /*empty list*/ )
+ commands: {
+ /* no commands by default */
+ }
+ permissions: {
+ /* without this basic permissions regular players could not
+ trade or party */
+ can_trade: true
+ can_party: true
+ }
+},
+{
+ id: 1
+ name: "Super Player"
+ inherit: ( "Player" ) /* can do everything Players can and more */
+ level: 0
+ commands: {
+ /* informational commands */
+ commands: true
+ charcommands: true
+ help: true
+ rates: true
+ uptime: true
+ showdelay: true
+ exp: true
+ mobinfo: true
+ iteminfo: true
+ whodrops: true
+ time: true
+ jailtime: true
+ hominfo: true
+ homstats: true
+ showexp: true
+ showzeny: true
+ whereis: true
+ /* feature commands */
+ refresh: true
+ noask: true
+ noks: true
+ main: true
+ autoloot: true
+ alootid: true
+ autotrade: true
+ request: true
+ go: true
+ }
+ permissions: {
+ }
+},
+{
+ id: 2
+ name: "Support"
+ inherit: ( "Super Player" )
+ level: 1
+ commands: {
+ version: true
+ where: true
+ jumpto: true
+ who: true
+ who2: true
+ who3: true
+ whomap: true
+ whomap2: true
+ whomap3: true
+ users: true
+ broadcast: true
+ localbroadcast: true
+ }
+ log_commands: true
+ permissions: {
+ receive_requests: true
+ view_equipment: true
+ }
+},
+{
+ id: 3
+ name: "Script Manager"
+ inherit: ( "Support" )
+ level: 1
+ commands: {
+ tonpc: true
+ hidenpc: true
+ shownpc: true
+ loadnpc: true
+ unloadnpc: true
+ npcmove: true
+ addwarp: true
+ }
+ log_commands: true
+ permissions: {
+ any_warp: true
+ }
+},
+{
+ id: 4
+ name: "Event Manager"
+ inherit: ( "Support" )
+ level: 1
+ commands: {
+ monster: true
+ monstersmall: true
+ monsterbig: true
+ killmonster2: true
+ cleanmap: true
+ item: [true, true]
+ zeny: [true, true]
+ disguise: [true, true]
+ undisguise: [true, true]
+ size: [true, true]
+ raise: true
+ raisemap: true
+ day: true
+ night: true
+ skillon: true
+ skilloff: true
+ pvpon: true
+ pvpoff: true
+ gvgon: true
+ gvgoff: true
+ allowks: true
+ me: true
+ marry: true
+ divorce: true
+ }
+ log_commands: true
+ permissions: {
+ can_trade: false
+ any_warp: true
+ }
+},
+{
+ id: 10
+ name: "Law Enforcement"
+ inherit: ( "Support" )
+ level: 2
+ commands: {
+ hide: true
+ follow: true
+ kick: true
+ disguise: true
+ fakename: true
+ option: true
+ speed: true
+ warp: true
+ kill: true
+ recall: true
+ ban: true
+ block: true
+ jail: true
+ jailfor: true
+ mute: true
+ storagelist: true
+ cartlist: true
+ itemlist: true
+ stats: true
+ }
+ log_commands: true
+ permissions: {
+ join_chat: true
+ kick_chat: true
+ hide_session: true
+ who_display_aid: true
+ hack_info: true
+ any_warp: true
+ view_hpmeter: true
+ }
+},
+{
+ id: 99
+ name: "Admin"
+ level: 99
+ inherit: ( "Support", "Law Enforcement" )
+ commands: {
+ }
+ log_commands: true
+ permissions: {
+ can_trade: true
+ can_party: true
+ all_skill: true
+ all_equipment: true
+ skill_unconditional: true
+ use_check: true
+ use_changemaptype: true
+ all_commands: true
+ }
+}
+)
+
diff --git a/conf/help.txt b/conf/help.txt
index 13a958798..5a8f5871f 100644
--- a/conf/help.txt
+++ b/conf/help.txt
@@ -1,172 +1,230 @@
-// put at first, the minimum level to display the line
- 1:To use one command, type it inside the message window where you usually type to chat.
- 20:@h/@help - display this help guide.
- 20:@h2/@help2 - displays the second help guide.
- 1:
- 1:--- MESSAGE CMD ---
- 1:@main [on|off|message] - Turns on or off global chat (@main must be on to see global chat messages)
- 1:@noask - Auto rejects Deals/Invites
- 20:@gmotd - Broadcasts the Message of The Day file to all players.
- 20:@me <message> - Displays normal text as a message in this format: *name message* (like /me in mIRC)
- 20:@fakename [Name] - Changes your name to your choice temporarly.
- 20:@npctalk [NPC Name],[Message] - Forces a NPC to display a message in normal chat.
- 40:/b/@broadcast <message> - Broadcasts a GM message with name of the GM (in yellow)
- 40:/nb <message>/@kami <message> - Broadcasts a GM message without name of the GM (in yellow)
- 40:@kamib <message> - Broadcasts a GM message without name of the GM (in blue)
- 40:/lb/@localbroadcast <message> - Broadcasts a GM message with name of the GM (in yellow) ONLY on your map
- 40:/nlb <message> - Broadcasts a GM message without name of the GM (in yellow) ONLY on your map
- 1:
- 1:--- INFORMATION CMD ---
- 1:@commands - Displays a list of commands that you can use.
- 1:@rates - Displays the server's current rates.
- 1:@uptime - Displays how long the server has been online.
- 1:@showdelay - Shows/Hides the "there is a delay after this skill" message.
- 1:@exp - Displays current levels and % progress
- 1:@mobinfo/@monsterinfo/@mi [Mob ID|Part of monster name] - Shows Monster Info (rates, stats, drops, MVP stuff)
- 1:@iteminfo/@ii [Item ID|Part of item name] - Shows Item info (type, price, etc)
- 1:@whodrops [Item ID|Part of item name] - Shows who drops an item (mobs with highest drop rates)
- 1:@version - Displays SVN version of the server
- 1:@email <actual@email> <new@email> - to change your e-mail (characters protection)
- 1:@where [char name] - Tells you the location of a character
- 1:@time/@date/@server_date/@serverdate/@server_time/@servertime - Display the date/time of the server
- 10:@showexp - Displays/Hides Experience gained.
- 10:@showzeny - Displays/Hides Zeny gained.
- 10:@mobsearch [Mob ID|Monster Name] - Shows the location of a certain mob on the current map.
- 20:@who/@whois/@w [match_text] - Display a listing of who is online and their party/guild.
- 20:@who2 [match_text] - Display a listing of who is online and their job.
- 20:@who3 [match_text] - Display a listing of who is online and where.
- 20:@whomap/@whomap2/@whomap3 [map] - like @who/@who2/@who3 but only for specifical map.
- 20:@whogm [match_text] - Like @who+@who2+who3, but only for GM.
- 40:@charcartlist <char name> - Displays all items of a player's cart.
- 60:
- 60:@guildspy <guild_name/id> - You will receive all messages of the guild channel (Chat logging must be enabled)
- 60:@partyspy <party_name/id> - You will receive all messages of the party channel (Chat logging must be enabled)
- 99:@mapinfo [<0-3> [map]] - Give information about a map (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat).
- 1:
- 1:--- CHANGE GM STATE CMD ---
- 1:@die - Kills yourself
- 10:@go <number/city_name> - Warps you to a city.
- 10: -3: (Memo point 2) 1: morocc 5: izlude 9: yuno 13: niflheim
- 10: -2: (Memo point 1) 2: geffen 6: aldebaran 10: amatsu 14: louyang
- 10: -1: (Memo point 0) 3: payon 7: xmas (lutie) 11: gonryun 15: start point
- 10: 0: prontera 4: alberta 8: comodo 12: umbala 16: prison/jail
- 10:
- 20:/shift/@jumpto/@warpto/@goto <char name> - Warps you to selected character
- 20:@follow <char_name> - follow a player
- 20:@mountpeco - Give/remove you a peco (Class is required, but not skill)
- 20:@disguise <monster_name_or_monster_ID> - Change your appearence to other players to a mob.
- 20:@undisguise - Restore your normal appearance.
- 20:@model <hair ID: 0-17> <hair color: 0-8> <clothes color: 0-4> - Changes your characters appearence.
- 20:@size <1-3> Changes your size (1-Smallest 2-Biggest 3-Normal)
- 40:/hide/@hide - Makes you character invisible (GM invisibility). Type /hide or@hide again become visible.
- 40:@save - Sets respawn point to current spot
- 40:@load/@return - Warps you to your save point
- 40:/mm//mapmove/@warp/@rura/@mapmove <mapname> <x> <y> - Warps you to the selected position
- 40:@jump [x [y]]- Randomly warps you like a flywing.
- 40:@job/@jobchange <job ID> - Changes your job
- 40: 0: Novice 18: Alchemist 4015: Paladin
- 40: 1: Swordman 19: Bard 4016: Champion
- 40: 2: Mage 20: Dancer 4017: Professor
- 40: 3: Archer 23: Super Novice 4018: Stalker
- 40: 4: Acolyte 4001: High Novice 4019: Creator
- 40: 5: Merchant 4002: High Swordman 4020: Clown
- 40: 6: Thief 4003: High Mage 4021: Gypsy
- 40: 7: Knight 4004: High Archer 4046: Taekwon
- 40: 8: Priest 4005: High Acolyte 4047: Star Gladiator
- 40: 9: Wizard 4006: High Merchant 4049: Soul Linker
- 40: 10: Blacksmith 4007: High Thief 24: Gunslinger
- 40: 11: Hunter 4008: Lord Knight 25: Ninja
- 40: 12: Assassin 4009: High Priest
- 40: 14: Crusader 4010: High Wizard
- 40: 15: Monk 4011: Whitesmith
- 40: 16: Sage 4012: Sniper
- 40: 17: Rogue 4013: Assassin Cross
- 40: ---- Baby Classes ----
- 40: 4023: Baby 4024: Baby Swordman 4025: Baby Mage
- 40: 4026: Baby Archer 4027: Baby Acolyte 4028: Baby Merchant
- 40: 4029: Baby Thief 4030: Baby Knight 4031: Baby Priest
- 40: 4032: Baby Wizard 4033: Baby Blacksmith 4034: Baby Hunter
- 40: 4035: Baby Assassin 4037: Baby Crusader 4038: Baby Monk
- 40: 4039: Baby Sage 4040: Baby Rogue 4041: Baby Alchemist
- 40: 4042: Baby Bard 4043: Baby Dancer 4045: Super Baby
- 40:
- 40: <param1> <param2> <p3>(stackable) <param3> <param3>
- 40: 1 Petrified (stackable) 01 Sight 32 Peco Peco riding 2048 Orc Head
- 40: 2 Frozen 01 Poison 02 Hide 64 GM Perfect Hide 4096 Wedding Sprites
- 40: 3 Stunned 02 Cursed 04 Cloak 128 Level 2 Cart 8192 Ruwach
- 40: 4 Sleeping 04 Silenced 08 Level 1 Cart 256 Level 3 Cart
- 40: 6 darkness 08 ??? 16 Falcon 512 Level 4 Cart
- 40: 16 darkness 1024 Level 5 Cart
- 40:
- 40:@heal [<HP> <SP>] - Heals the desired amount of HP and SP. No value specified will do a full heal.
- 40:@option <param1> <param2> <param3> - Adds different visual effects on or around your character
- 40:@dye/@ccolor <clothes color: 0-4> - Changes your characters appearence (only clothes color).
- 40:@hairstyle/@hstyle <hair ID: 0-17> - Changes your characters appearence (only hair style).
- 40:@haircolor/@hcolor <hair color: 0-8> - Changes your characters appearence (only hair color).
- 40:@speed <1-1000> - Changes you walking speed. 1 being the fastest and 1000 the slowest. Default 150.
- 40:@effect <effect_id> [flag] - Give an efect to your character.
- 40:@dropall - throws all your possession on the ground
- 40:@storeall - puts all your possessions in storage
- 40:@killable - make your character killable
- 40:@memo [memo_position] - set/change a memo location (no position: display memo points).
- 40:@spiritball <number: 1-1000> - Gives you "spirit spheres" like from the skill "Call Spirits"
- 40: (If the number you use is > 1000, your server may become instable or crash)
- 40:@questskill <#> - Gives you the specified quest skill
- 40:@lostskill <#> - Takes away the specified quest skill from you
- 40:@skillid <name> - look up a skill by name
- 40:@useskill <skillid> <skillv> <target> - use a skill on target
- 40: Novice Swordsman Thief Merchant
- 40: 142 = Emergency Care 144 = Moving HP Recovery 149 = Throw Sand 153 = Cart Revolution
- 40: 143 = Act dead 145 = Attack Weak Point 150 = Back Sliding 154 = Change Cart
- 40: Archer 146 = Auto Berserk 151 = Take Stone 155 = Crazy Uproar/Loud Voice
- 40: 147 = Arrow Creation Acolyte 152 = Stone Throw Magician
- 40: 148 = Charge Arrows 156 = Holy Light 157 = Energy Coat
- 40: @skilltree <
- 40: @marry <player1>,<player2> - marry two players
- 40: @divorce <player> - divorces the two players (you need just one name of them)
- 60:@alive - Revives yourself from death
- 60:@lvup/@blevel/@baselvlup <number of levels> - Raises your base level the desired number of levels. The max is 255 (User Defined).
- 60:@joblvup/@jlevel/@joblvlup <number of levels> -Raises your job level the desired number of levels. The max is 50 For Basic Classes. For Super Novice and Advanced Classes it is 70.
- 60:@allskill/@allskills/@skillall/@skillsall - Give you all skills.
- 60:@stpoint <number of points> - Gives you the desired number of stat points.
- 60:@skpoint <number of points> - Gives you the desired number of skill points.
- 60:@zeny <amount> - Gives you desired amount of Zeny.
- 60:@cash <amount> - Gives you the specified amount of cash points.
- 60:@points <amount> - Gives you the specified amount of Kafra Points.
- 60:@str,@agi,@vit,@int,@dex,@luk <amount> - Adds desired amount to any stat. For example "@str 10" raises your str by 10
- 60:@statall/@statsall/@allstats/@allstat [value] - Adds value in all stats (maximum if no value).
- 60: @addwarp <map name> <x coord> <y coord>
- 40:
- 40:--- MONSTERS CMD ---
- 40:@killmonster2 - kill all monsters of your map (without drops)
- 50:/monster <monster_name> - Spawns 1 of the desired monster.
- 50:@spawn/@monster/@summon <monster_name_or_monster_ID> [<number to spawn> [<desired_monster_name> [<x coord> [<y coord>]]]]
- 50:@monster2 <desired_monster_name> <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]]
- 50:@spawn/@monster/@summon/@monster2 "desired monster name" <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]]
- 50:@spawn/@monster/@summon/@monster2 <monster_name_or_monster_ID> "desired monster name" [<number to spawn> [<x coord> [<y coord>]]]
- 50: Spawns the desired monster with any desired name.
- 50:@monstersmall [Mob ID|Mob Name] - Spawns a smaller version of a monster.
- 50:@monsterbig [Mob ID|Mob Name] - Spawns a larger version of a monster.
- 60:@killmonster [map] - kill all monsters of the map (they drop)
- 40:
- 10:--- MISC CMD ---
- 10:@autoloot [on|off|#] - Makes items go straight into your inventory.
- 10:@autotrade/@at - Allows you to vend while you are offline.
- 10:@changegm [Player Name] - Changes the leader of your guild (You must be guild leader)
- 10:@changeleader [Player Name] - Changes the leader of your party (You must be party leader)
- 20:@request [Message] - Sends a message to all connected GMs (via the gm whisper system)
- 40:@sound [Path way to file in Data or GRF file] - Plays a sound from the data or grf file located on the client.
- 50:@clone [Player Name] - Spawns a supportive clone of the given player.
- 50:@slaveclone [Player Name] - Spawns a supportive clone of the given player that follows the creator around.
- 50:@evilclone [Player Name] - Spawns an agressive clone of the given player.
- 60:@changesex - Changes your gender.
- 10:
- 1:--- DUEL CMD ---
- 1:@duel - Starts a duel.
- 1:@invite - Invites a player to a duel.
- 1:@accept - Accepts an invitation to a duel.
- 1:@reject - Rejects an invitation to a duel.
- 1:@leave - Leaves a duel.
- 1:
- 1:--- MAIL SYSTEM --- (SQL Only)
- 1:@mail - Open mail box.
+// This is help file that contains help messages for atcommands/charcommands.
+
+// Format:
+// <command>: "<help message>"
+
+// This file uses libconfig syntax.
+
+help: "Params: <command>\n" "Shows help for specified command."
+main: "Params: [on|off|<message>]\n" "Turns on or off main (server-wide) chat. Sends message to main chat."
+noask: "Auto rejects deals/invites."
+gmotd: "Broadcasts the Message of The Day to all players."
+me: "Params: <message>\n" "Displays normal text as a message in this format: *name message* (like /me in mIRC)."
+fakename: "Params: <name>\n" "Changes your name to your choice temporarily."
+npctalk: "Params: <NPC name> <message>\n" "Forces a NPC to display a message in normal chat."
+broadcast: "Params: <message>\n" "Broadcasts a message with your name (in yellow)."
+kami: "Params: <message>\n" "Broadcasts a message without your name (in yellow)."
+kamib: "Params: <message>\n" "Broadcasts a message without your name (in blue)."
+localbroadcast: "Params: <message>\n" "Broadcasts a message with your name (in yellow) only on your map."
+commands: "Displays a list of commands that you can use."
+rates: "Displays the server's current rates."
+uptime: "Displays how long the server has been online."
+showdelay: "Shows/hides the \"There is a delay after this skill\" message."
+exp: "Displays current levels and % progress."
+mobinfo: "Params: <monster ID>|<monster name>\n" "Shows monster info (stats, exp, drops etc)."
+iteminfo: "Params: <item ID>|<item name>\n" "Shows item info (type, price etc)."
+whodrops: "Params: <item ID>|<item name>\n" "Shows who drops an item (monster with highest drop rates)."
+version: "Displays SVN version of the server."
+email: "Params: <current email> <new email>\n" "Changes your account e-mail address."
+where: "Params: <char name>\n" "Tells you the location of a character."
+time: "Shows the date and time of the server."
+showexp: "Displays/hides experience gained."
+showzeny: "Displays/hides Zeny gained."
+mobsearch: "Params: <monster ID>|<monster name>\n" "Shows the location of a certain mob on the current map."
+who: "Params: [<name>]\n" "Shows a list of online players and their party and guild."
+who2: "Params: [<name>]\n" "Shows a list of online players and their job."
+who3: "Params: [<name>]\n" "Shows a list of online players and their location."
+whomap: "@whomap/@whomap2/@whomap3 [map] - like @who/@who2/@who3 but only for specifical map."
+whogm: "Params: [match_text] - Like @who+@who2+who3, but only for GM."
+guildspy: "Params: <guild_name/id> - You will receive all messages of the guild channel (Chat logging must be enabled)"
+partyspy: "@partyspy <party_name/id> - You will receive all messages of the party channel (Chat logging must be enabled)"
+mapinfo: "Params: [<0-3> [map]] - Give information about a map (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat)."
+die: "Kills yourself."
+go: "Params: <number/city_name>\n" "Warps you to a city.\n"
+ " -3: (Memo point 2) 1: morocc 5: izlude 9: yuno 13: niflheim \n"
+ " -2: (Memo point 1) 2: geffen 6: aldebaran 10: amatsu 14: louyang\n"
+ " -1: (Memo point 0) 3: payon 7: xmas (lutie) 11: gonryun 15: start point\n"
+ " 0: prontera 4: alberta 8: comodo 12: umbala 16: prison/jail\n"
+jumpto: "Params: <char name>\n" "Warps you to selected character."
+follow: "Params: <char_name>\n" "Follow a player."
+mount: "Give/remove you a peco (Class is required, but not skill)"
+disguise: "Params: <monster_name_or_monster_ID>\n" "Change your appearence to other players to a mob."
+undisguise: "Restore your normal appearance."
+model: "Params: <hair ID: 0-17> <hair color: 0-8> <clothes color: 0-4> - Changes your characters appearence."
+size: "Params: <1-3> Changes your size (1-Smallest 2-Biggest 3-Normal)"
+hide: "Makes you character invisible (GM invisibility). Type again to become visible."
+save: "Sets respawn point to current spot."
+load: "Warps you to your save point."
+warp: "Params: <mapname> [<x> <y>]\n" "Warps you to the selected map and position."
+jump: "Params: [<x> [<y>]]\n" "Randomly warps you like a flywing."
+jobchange: "Params: <job ID>\n" "Changes your job.\n"
+" 0: Novice 18: Alchemist 4015: Paladin\n"
+" 1: Swordman 19: Bard 4016: Champion\n"
+" 2: Mage 20: Dancer 4017: Professor\n"
+" 3: Archer 23: Super Novice 4018: Stalker\n"
+" 4: Acolyte 4001: High Novice 4019: Creator\n"
+" 5: Merchant 4002: High Swordman 4020: Clown\n"
+" 6: Thief 4003: High Mage 4021: Gypsy\n"
+" 7: Knight 4004: High Archer 4046: Taekwon\n"
+" 8: Priest 4005: High Acolyte 4047: Star Gladiator\n"
+" 9: Wizard 4006: High Merchant 4049: Soul Linker\n"
+" 10: Blacksmith 4007: High Thief 24: Gunslinger\n"
+" 11: Hunter 4008: Lord Knight 25: Ninja\n"
+" 12: Assassin 4009: High Priest\n"
+" 14: Crusader 4010: High Wizard\n"
+" 15: Monk 4011: Whitesmith\n"
+" 16: Sage 4012: Sniper\n"
+" 17: Rogue 4013: Assassin Cross\n"
+" ---- Baby Classes ----\n"
+" 4023: Baby 4024: Baby Swordman 4025: Baby Mage\n"
+" 4026: Baby Archer 4027: Baby Acolyte 4028: Baby Merchant\n"
+" 4029: Baby Thief 4030: Baby Knight 4031: Baby Priest\n"
+" 4032: Baby Wizard 4033: Baby Blacksmith 4034: Baby Hunter\n"
+" 4035: Baby Assassin 4037: Baby Crusader 4038: Baby Monk\n"
+" 4039: Baby Sage 4040: Baby Rogue 4041: Baby Alchemist\n"
+" 4042: Baby Bard 4043: Baby Dancer 4045: Super Baby\n"
+option: "Params: <param1> <param2> <param3>\n" "Adds different visual effects on or around your character.\n"
+"<param1> <param2> <p3>(stackable) <param3> <param3>\n"
+"1 Petrified (stackable) 01 Sight 32 Peco Peco riding 2048 Orc Head\n"
+"2 Frozen 01 Poison 02 Hide 64 GM Perfect Hide 4096 Wedding Sprites\n"
+"3 Stunned 02 Cursed 04 Cloak 128 Level 2 Cart 8192 Ruwach\n"
+"4 Sleeping 04 Silenced 08 Level 1 Cart 256 Level 3 Cart\n"
+"6 darkness 08 ??? 16 Falcon 512 Level 4 Cart\n"
+" 16 darkness 1024 Level 5 Cart\n"
+heal: "Params: [<HP> <SP>]\n" "Heals the desired amount of HP and SP. No value specified will do a full heal."
+dye: "Params: <clothes palette no.>\n" "Changes your characters clothes color."
+hairstyle: "Params: <hairstyle no.>\n" "Changes your hair style."
+haircolor: "Params <hair palette no.>\n" "Changes your hair color."
+speed: "Params: <1-1000>\n" "Changes you walking speed. 1 being the fastest and 1000 the slowest. Default is 150."
+effect: "Params: <effect id> [<flag>]\n" "Give an effect to your character."
+dropall: "Throws all your possession on the ground."
+storeall: "Puts all your possessions in storage."
+killable: "Make your character killable."
+memo: "Params: [memo position]\n" "Set/change a memo location (no position: display memo points)."
+spiritball: "Params: <1-100>\n" "Gives you \"spirit spheres\" like from the skill \"Call Spirits\".\n"
+questskill: "Params: <#>\n" "Gives you the specified quest skill"
+lostskill: "Params: <#>\n" "Takes away the specified quest skill from you\n"
+" Novice Swordsman Thief Merchant\n"
+" 142 = Emergency Care 144 = Moving HP Recovery 149 = Throw Sand 153 = Cart Revolution\n"
+" 143 = Act dead 145 = Attack Weak Point 150 = Back Sliding 154 = Change Cart\n"
+" Archer 146 = Auto Berserk 151 = Take Stone 155 = Crazy Uproar/Loud Voice\n"
+" 147 = Arrow Creation Acolyte 152 = Stone Throw Magician\n"
+" 148 = Charge Arrows 156 = Holy Light 157 = Energy Coat\n"
+skillid: "Params: <name>\n" "Look up a skill by name"
+useskill: "Params: <skillid> <skillv> <target>\n" "Use a skill on target"
+skilltree: "Params: <"
+marry: "Params: <player1>,<player2>\n" "Marry two players."
+divorce: "Params: <player>\n" "Divorces the two players (you need just one name of them)"
+alive: "Revives yourself from death."
+blvl: "Params: <number of levels>\n" "Raises your base level the desired number of levels."
+jlvl: "Params: <number of levels>\n" "Raises your job level the desired number of levels."
+allskill: "Give you all skills."
+stpoint: "Params: <number of points> - Gives you the desired number of stat points."
+skpoint: "Params: <number of points> - Gives you the desired number of skill points."
+zeny: "Params: <amount> - Gives you desired amount of Zeny."
+cash: "Params: <amount> - Gives you the specified amount of cash points."
+points: "Params: <amount> - Gives you the specified amount of Kafra Points."
+str: "Params: <amount>\n" "Raises STR by given amount."
+agi: "Params: <amount>\n" "Raises AGI by given amount."
+dex: "Params: <amount>\n" "Raises DEX by given amount."
+vit: "Params: <amount>\n" "Raises VIT by given amount."
+int: "Params: <amount>\n" "Raises INT by given amount."
+luk: "Params: <amount>\n" "Raises LUK by given amount."
+allstats: "Params: <value>\n" "Adds value in all stats (maximum if no value)."
+addwarp: "Params: <map name> <x coord> <y coord>\n"
+killmonster2: "Kills all monsters of your map (without drops)."
+monster: "Params: <monster_name_or_monster_ID> [<number to spawn> [<desired_monster_name> [<x coord> [<y coord>]]]]\n"
+ "@monster2 <desired_monster_name> <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]]\n"
+"@spawn/@monster/@summon/@monster2 \"desired monster name\" <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]]\n"
+"@spawn/@monster/@summon/@monster2 <monster_name_or_monster_ID> \"desired monster name\" [<number to spawn> [<x coord> [<y coord>]]]\n"
+" Spawns the desired monster with any desired name."
+monstersmall: "Params: [Mob ID|Mob Name]\n" "Spawns a smaller version of a monster."
+monsterbig: "Params: [Mob ID|Mob Name]\n" "Spawns a larger version of a monster."
+killmonster: "Params: [map]\n" "Kill all monsters of the map (they drop)"
+autoloot: "Params: [on|off|#]\n" "Makes items go straight into your inventory."
+autotrade: "Allows you to vend while you are offline."
+changegm: "Params: [Player Name]\n" "Changes the leader of your guild (You must be guild leader)"
+changeleader: "Params: [Player Name]\n" "Changes the leader of your party (You must be party leader)"
+request: "Params: [Message]\n" "Sends a message to all connected GMs (via the gm whisper system)"
+sound: "Params: [Path way to file in Data or GRF file]\n" "Plays a sound from the data or grf file located on the client."
+clone: "Params: [Player Name]\n" "Spawns a supportive clone of the given player."
+slaveclone: "Params: [Player Name]\n" "Spawns a supportive clone of the given player that follows the creator around."
+evilclone: "Params: [Player Name]\n" "Spawns an agressive clone of the given player."
+changesex: "Changes your gender."
+duel: "Starts a duel."
+invite: "Invites a player to a duel."
+accept: "Accepts an invitation to a duel."
+reject: "Rejects an invitation to a duel."
+leave: "Leaves a duel."
+mail: "Open mail box."
+storage: "Opens storage."
+itemreset: "Remove all your items."
+guildstorage: "Opens guild storage."
+idsearch: "Params: <part_of_item_name>\n" "Search all items that name have part_of_item_name"
+refine: "Params: <equip position> <+/- amount>"
+produce: "Params: <equip name or equip ID> <element> <# of very's>\n"
+" Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind\n"
+" You can add up to 3 Star Crumbs and 1 element\n"
+repairall: "Repair all items of your inventory"
+item: "Params: <item name or ID> <quantity>\n" "Gives you the desired item."
+item2: "Params: <item name or ID> <quantity> <identified_flag> <refine> <broken_flag> <Card1> <Card2> <Card3> <Card4>\n" "Gives you the desired item."
+pvpon: "Turns pvp on on the current map"
+pvpoff: "Turns pvp off on the current map"
+gvgon: "Turns gvg on on the current map"
+gvgoff: "Turns gvg off on the current map"
+agitstart: "Starts War of Emperium"
+agitend: "End War of Emperium"
+party: "Params: <party_name>\n" "Create a party."
+guild: "Params: <guild_name>\n" "Create a guild."
+glvl: "Params: <# of levels>\n" "Raise Guild by desired number of levels"
+guildrecall: "Params: <guild_name/id>\n" "Warps all online characters of a guild to you."
+partyrecall: "Params: <party_name/id>\n" "Warps all online characters of a party to you."
+petrename: "Re-enable pet rename"
+pettalk: "Params: [Message]\n" "Makes your pet say a message."
+petfriendly: "Params: <#>\n" "Set pet friendly amount (0-1000) 1000 = Max"
+pethungry: "Params: <#>\n" "Set pet hungry amount (0-100) 100 = Max"
+hatch: "Create a pet from your inventory eggs list."
+makeegg: "Params: <pet_id>\n" "Gives pet egg for monster number in pet DB"
+kick: "Params: <char name>\n" "Kicks specified character off the server"
+unjail: "Params: <char name>\n" "Discharges specified character/prisoner"
+kill: "Params: <char name>\n" "Kills specified character."
+recall: "Params: <char name>\n" "Warps target character to you."
+raise: "Params: <char name>\n" "Revives target character."
+block: "Params: <char name>\n" "Blocks definitively a account"
+unblock: "Params: <char name>\n" "Unblocks a account"
+ban: "Params: <time> <name>\n" "Ban temporarily a account\n"
+ " time usage: adjustment (+/- value) and element (y/a, m, d/j, h, mn, s)\n"
+ " Example: @ban +1m-2mn1s-6y testplayer\n"
+unban: "Params: <name> - Unban a account"
+jail: "Params: <char name> - Sends specified character in jails"
+trade: "Params: <char name> - Open a trade window with a another player"
+recallall: "Warps every character online to you."
+doom: "Kills all NON GM chars on the server."
+doommap: "Kills all non GM characters on the map."
+raisemap: "Resurrects all characters on the map."
+night: "Uses @option 00 16 00 on all characters. All characters are in darkness."
+day: "Uses @option 00 00 00 on all characters."
+skillon: "turn skills on for a map"
+skilloff: "turn skills on for a map"
+snow: "Makes all maps to have the snow weather effect."
+clouds: "Makes all maps to have the cloudy weather effect."
+clouds2: "Makes all maps to have another cloudy weather effect."
+fog: "Makes all maps to have the fog weather effect."
+fireworks: "Makes all maps to have the fireworks weather effect."
+sakura: "Makes all maps to have the sakura weather effect."
+leaves: "Makes all maps to have the leaves weather effect."
+shownpc: "Params: <NPC name>\n" "Enable a NPC"
+hidenpc: "Params: <NPC name>\n" "Disable a NPC"
+loadnpc: "Params: <path to script>\n" "Load script"
+unloadnpc: "Params: <NPC name>\n" "Unload script"
+adjgroup: "Params: <level> <char name> - Do a temporary adjustment of the GM level of a player"
+kickall: "Kick all characters off the server"
+mapexit: "Kick all players and shut down map-server."
+reloaditemdb: "Reload item database."
+reloadmobdb: "Reload monster database."
+reloadskilldb: "Reload skills definition database."
+reloadscript: "Reload all scripts."
+gat: "For debugging (you inspect around gat)"
+send: "For debugging (packet variety)"
+nuke: "Params: <char name>\n"
+
diff --git a/conf/help2.txt b/conf/help2.txt
deleted file mode 100644
index 8f8330dbd..000000000
--- a/conf/help2.txt
+++ /dev/null
@@ -1,94 +0,0 @@
- 0:To use one command, type it inside the message window where you usually type to chat.
- 1:--- ITEMS CMD ---
- 1:@storage - Opens storage
- 40:@itemreset - Remove all your items.
- 50:@gstorage - Opens guild storage
- 60:@itemcheck - Check your items with authorised items.
- 60:@idsearch <part_of_item_name> - Search all items that name have part_of_item_name
- 60:@refine <equip position> <+/- amount>
- 60:@produce <equip name or equip ID> <element> <# of very's>
- 60: Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind
- 60: You can add up to 3 Star Crumbs and 1 element
- 60:@repairall - Repair all items of your inventory
- 60:/item <item_name> - Gives you 1 of the desired item.
- 60:@item <item name or ID> <quantity> - Gives you the desired item.
- 60:@item2 <item name or ID> <quantity> <identified_flag> <refine> <broken_flag> <Card1> <Card2> <Card3> <Card4> - Gives you the desired item.
- 40:
- 40:--- PVP CMD ---
- 40:@pvpon - Turns pvp on on the current map
- 40:@pvpoff - Turns pvp off on the current map
- 40:@gvgon/@gpvpon - Turns gvg on on the current map
- 40:@gvgoff/@gpvpoff - Turns gvg off on the current map
- 60:@agitstart - Starts War of Emperium
- 60:@agitend - End War of Emperium
- 1:
- 1:--- GROUPS CMD ---
- 1:@party <party_name> - Create a party.
- 50:@guild <guild_name> - Create a guild.
- 60:@guildlvup/@guildlvlup <# of levels> - Raise Guild by desired number of levels
- 60:@guildrecall <guild_name/id> - Warps all online characters of a guild to you.
- 60:@partyrecall <party_name/id> - Warps all online characters of a party to you.
- 1:
- 1:--- PETS CMD ---
- 1:@petrename - Re-enable pet rename
- 10:@pettalk [Message] - Makes your pet say a message.
- 40:@petfriendly <#> - Set pet friendly amount (0-1000) 1000 = Max
- 40:@pethungry <#> - Set pet hungry amount (0-100) 100 = Max
- 60:@hatch - Create a pet from your inventory eggs list.
- 60:@makeegg <pet_id> - Gives pet egg for monster number in pet DB
- 20:
- 20:--- REMOTE CHAR CMD ---
- 20:@kick <char name> - Kicks specified character off the server
- 40:@charkillable <char name> - make another character killable
- 60:@unjail/@discharge <char name> - Discharges specified character/prisoner
- 60:@kill <char name> - Kills specified character.
- 60:@chardropall <char name> - throws all a chars possession on the ground
- 60:@charstoreall <char name> - puts all of anothers charactes possessions in storage
- 60:/recall/@recall <char name> - Warps target character to you.
- 60:@revive <char name> - Revives target character.
- 60:@charblock/@block <char name> - Blocks definitively a account
- 60:@charunblock/@unblock <char name> - Unblocks a account
- 60:@charban/@ban/@banish/@charbanish <time> <name> - Ban temporarily a account
- 60: time usage: adjustment (+/- value) and element (y/a, m, d/j, h, mn, s)
- 60: Example: @ban +1m-2mn1s-6y testplayer
- 60:@charunban/@unban/@unbanish/@charunbanish <name> - Unban a account
- 60:@jail <char name> - Sends specified character in jails
- 60:@trade <char name> - Open a trade window with a another player
- 80:@recallall - Warps every character online to you.
- 80:@doom - Kills all NON GM chars on the server.
- 80:@doommap - Kills all non GM characters on the map.
- 80:@raise - Resurrects all characters on the server.
- 80:@raisemap - Resurrects all characters on the map.
- 80:
- 80:--- ENVIRONMENT CMD ---
- 80:@night - Uses @option 00 16 00 on all characters. All characters are in darkness.
- 80:@day - Uses @option 00 00 00 on all characters.
- 80:@skillon - turn skills on for a map
- 80:@skilloff - turn skills on for a map
- 99:@rain - Makes all maps to have the rain weather effect.
- 99:@snow - Makes all maps to have the snow weather effect.
- 99:@clouds - Makes all maps to have the cloudy weather effect.
- 99:@clouds2 - Makes all maps to have another cloudy weather effect.
- 99:@fog - Makes all maps to have the fog weather effect.
- 99:@fireworks - Makes all maps to have the fireworks weather effect.
- 99:@sakura - Makes all maps to have the sakura weather effect.
- 99:@leaves - Makes all maps to have the leaves weather effect.
- 80:
- 80:--- ADMIN CMD ---
- 80:@shownpc <NPC name> - Enable a NPC
- 80:@hidenpc <NPC name> - Disable a NPC
- 80:@loadnpc <path to script> - Load script
- 80:@unloadnpc <NPC name> - Unload script
- 99:@adjgmlvl <level> <char name> - Do a temporary adjustment of the GM level of a player
- 99:@adjcmdlvl <level> <command> - Do a temporary adjustment of the GM level of a command
- 99:@kickall - Kick all characters off the server
- 99:@mapexit - Kick all players and shut down map-server.
- 99:@reloaditemdb - Reload item database.
- 99:@reloadmobdb - Reload monster database.
- 99:@reloadskilldb - Reload skills definition database.
- 99:@reloadscript - Reload all scripts.
- 99:@reloadgmdb - Reload GM levels.
- 99:
- 99:@gat - For debugging (you inspect around gat)
- 99:@packet - For debugging (packet variety)
-100:@nuke <char name> -
diff --git a/conf/import-tmpl/atcommand_conf.txt b/conf/import-tmpl/atcommand_conf.txt
deleted file mode 100644
index e69de29bb..000000000
--- a/conf/import-tmpl/atcommand_conf.txt
+++ /dev/null
diff --git a/conf/log_athena.conf b/conf/log_athena.conf
index 37ab1b14f..13174a018 100644
--- a/conf/log_athena.conf
+++ b/conf/log_athena.conf
@@ -84,8 +84,10 @@ log_zeny: 0
// Outdated. Use Pick_Log instead. But this log could be useful to keep track slayed MVPs
log_mvpdrop: no
-// Log GM Commands (set to minimum level of Logged Commands)
-log_gm: 40
+// Log AtCommands & Charcommands (Note 1)
+// Only commands issued by player groups ('conf/groups.conf') with
+// 'log_commands' setting set to 'true' will be logged.
+log_commands: yes
// Log NPC 'logmes' commands (Note 1)
log_npc: no
diff --git a/conf/login_athena.conf b/conf/login_athena.conf
index aab2f854c..7dda3cb5c 100644
--- a/conf/login_athena.conf
+++ b/conf/login_athena.conf
@@ -62,9 +62,10 @@ log_login: yes
// Indicate how to display date in logs, to players, etc.
date_format: %Y-%m-%d %H:%M:%S
-// Indicate the minimum GM level of player that the server accepts to connection.
-// 0: all players (normal player are 0. it's default), 1-99: GM level at least with level x
-min_level_to_connect: 0
+// Required account group id to connect to server.
+// -1: disabled
+// 0 or more: group id
+group_id_to_connect: -1
// Starting additional sec from now for the limited time at creation of account
// -1: new account are created with UNlimited time (default value)
diff --git a/conf/msg_athena.conf b/conf/msg_athena.conf
index 2f5e50eea..8de5b8ec0 100644
--- a/conf/msg_athena.conf
+++ b/conf/msg_athena.conf
@@ -44,7 +44,7 @@
24: Job level raised.
25: Job level lowered.
26: Help commands:
-27: File help.txt not found.
+27: Commands help is not available.
28: No player found.
29: 1 player found.
30: %d players found.
@@ -348,16 +348,6 @@
// 334: Thirty-Four Castles
334: Total Domination
-// Players Titles (for @who, etc commands, check battle_athena.conf for titles level setting)
-// Useful note: you may remove ':%d' from the line, then you will see only player title, w/o his level
-335: Super player:%d
-336: Super player+:%d
-337: Mediator:%d
-338: Sub-GM:%d
-339: Sub-GM+:%d
-340: GM:%d
-341: GM Chief:%d
-342: Administrator:%d
// Templates for @who output
343: Name: %s
344: (%s)