Hello everyone,
Today I would like to introduce you to the Vanilla Project. Vanilla Core is a drop in replacement for game & db 40k with new CONFIG options, quest functions and performance improvements that will boost the control you have over your server inmensely.
FEATURE LIST
+ removed the license functions so the server won't connect to a license server nor check if your server is valid
+ removed the time limitation so it won't even check the time limit. This crash issue is completely fixed.
+ merged all the exp tables to the "exp_table_common" which will be used by ANY locale. You can change the needed exp for 200 levels there.
+ Max_level can be raised in the CONFIG file to a maximum of 255.
+ status points will be given at any level. It depends now on Max_level so if you set max_level to 120 you'll get status points until level 120!
+ fixed vampirism effects so you won't loose hp when you make an overkill (suras may embrace this change)
+ exp bonus now works comulutative instead of just making a chance to get double exp. If you have 20% exp bonus in your items you'll get 20% more exp at any time.
+ Rewrote the version check. You can now set your server version in your CONFIG-file and let it check with the client version. If serverversion != clientversion the server will print a message and kick the player out
+ Raised the gold limit up to 999.999.999.999
+ membuf-errors fixed! Now you have a optimized buffer length so it won't consume much RAM but still have enough to not kick players out.
+ you can now give priv_empire (or other priv's) up to 2000% at any time.
+ a lot of new quest functions, when triggers and CONFIG-options
+ more stability and performance especially since it's compiled with a newer gcc version
+ ip's beginning with 5. and 25. are now allowed by the internal ip-check
+ Items can now be sold for 0 gold
+ 6/7 bonus are now working
+ name-change works with every locale
+ gold overflow: Now resets the gold to the maximum value to fight against gold overflow
+ horse-table has new entries for up to level 51. Raising the level extends the horse-stats.
+ New error handling for bonus overflow. Now the bonus will be set to the maximum generating a warning in your syserr
+ player movement speed will be observerd by the server now and set down to the maximum value if it's too high.
+ Skills can now apply new bonuses! You can e. g. raise your int-attribute
New CONFIG-options
MAX_LEVEL_STATUS: unsigned int
Forces a maximum level. If you level up higher than this, you'll receive no status points anymore.
MAX_STATUS: unsigned int
Sets a maximum of distributed status points. If you e. g. set it to 20, you can only raise your stat's by 20 each status.
SERVER_CHECK: 1/0
Checks if the client version and the server version are the same. If not, the server will send a message to the client and kick him out after a few seconds.
SERVER_VERSION: unsigned int
There you can set the version of your server for the SERVER_CHECK.
MAX_HT: unsigned int
It's the same option than MAX_STATUS but only for the con-attribute.
MAX_IQ: unsigned int
It's the same option than MAX_STATUS but only for the int-attribute.
MAX_ST: unsigned int
It's the same option than MAX_STATUS but only for the str-attribute.
MAX_DX: unsigned int
It's the same option than MAX_STATUS but only for the dex-attribute.
ATTR_ALWAYS_ADD: 1/0
If enabled you'll get 100% chance to add new attributes to you equipment.
ATTR_ALWAYS_5_ADD: 1/0
If enabled you'll get 100% chance to add new attributes to you equipment. Counts only for 5th Bonus (blessing marble).
ATTR_CHANGE_LIMIT: int
You can set a limit time to change your attributes again. It's changed to seconds (set it to 1 to let the users switch only once per second their attributes).
GUILD_MAX_LEVEL: int
Sets the maximum guild level. You can raise it up to 50 since the exp-table is extended to handle up to 50.
ITEM_OWNERSHIP_TIME: int
If you drop an item, this option sets how long the item will be flagged as yours.
MIN_ADDON_FKS: int
Sets the minimum ability bonus dmg you can have.
MAX_ADDON_FKS: int
Sets the maximum ability bonus dmg you can have.
MIN_ADDON_DSS: int
Sets the minimum normal hit bonus dmg you can have.
MIN_ADDON_DSS: int
Sets the maximum normal hit bonus dmg you can have.
SKILLBOOK_DELAY: int
Sets the time limit for reading a book (e. g. if you read skill books you'll have to wait x seconds until you can read the same skill book again).
SKILLBOOK_NEED_EXP: int
Sets the exp you need for reading a book.
SKILLBOOK_ALWAYS_BOOK: 1/0
Sets if every book will be handled as you'd have used a skillbook chance amplifier.
GOLD_DROP_TIME_INTERVAL: int
Sets how long you have to wait until you can drop gold again.
SEQUENCE_CHECK: 1/0
Enables a check if the sequence table is the same than the client's one.
SKILLBOOK_STEP_LEVELING: 1/0
Enables the need of more books for raising a skill (e. g. you need 2 books from m2 to m3).
RAISE_EMPIRE_PRICES: 1/0
Enables the raise of prices if you buy items in another empire.
HORSE_MAX_LEVEL: int
Sets the maximum level of your horse (you still need to write quests or something like that to allow players to achieve the higher horse-levels).
MARRIAGE_MAX_PERCENT: int
Sets the maximum allowed percent of love points. Warning! If love points > 100 it'd lead into bugs with breaking the marriage.
PC_MAX_MOVEMENT_SPEED: int
Sets the maximum movement speed for players.
PC_MAX_ATTACK_SPEED: int
Sets the maximum attack speed for players.
MOB_MAX_MOVEMENT_SPEED: int
Sets the maximum movement speed for mobs.
MOB_MAX_ATTACK_SPEED: int
Sets the maximum attack speed for mobs.
TAXES: int
From 0 to 100. Sets the % how much taxes you have to pay while shopping.
DYE_LEVEL: int
Sets how many levels you have to get after you can change your hair color again.
YANG_MAX: long long
Sets the maximum gold you can carry. You can change it up to 999.999.999.999 gold.
New quest functions
item.get_attr_type(int index)
item.get_attr_value(int index)
item.set_attr(int ApplyType, int ApplyValue[, int index])
npc.get_level()
game.mysql_real_escape_string(string query)
game.mysql_query(string query)
game.mysql_update_query(string query)
pc.delayed_disconnect(int zeit)
pc.get_mount_vnum()
pc.set_level(int level)
pc.send_effect(int id)
New quest triggers
OnBuy (triggers on buying a item from players or npc's)
OnDie (triggers on dying)
Full list of all allowed bonuses for skills
MAX_HP
MAX_SP
HP_REGEN
SP_REGEN
BLOCK
HP
SP
ATT_GRADE
DEF_GRADE
MAGIC_ATT_GRADE
MAGIC_DEF_GRADE
BOW_DISTANCE
MOV_SPEED
ATT_SPEED
POISON_PCT
RESIST_RANGE
CASTING_SPEED
REFLECT_MELEE
ATT_BONUS
DEF_BONUS
RESIST_NORMAL
DODGE
KILL_HP_RECOVER
KILL_SP_RECOVER
HIT_HP_RECOVER
HIT_SP_RECOVER
CRITICAL
MANASHIELD
SKILL_DAMAGE_BONUS
NORMAL_HIT_DAMAGE_BONUS
HT
IQ
ST
DX
STUN_PCT
SLOW_PCT
PENETRATE_PCT
ATTBONUS_HUMAN
STEAL_HP
STEAL_SP
MANA_BURN_PCT
DAMAGE_SP_RECOVER
RESIST_SWORD
RESIST_TWOHAND
RESIST_DAGGER
RESIST_BELL
RESIST_FAN
RESIST_BOW
RESIST_FIRE
RESIST_ELEC
RESIST_MAGIC
RESIST_WIND
REFLECT_CURSE
POISON_REDUCE
EXP_DOUBLE_BONUS
GOLD_DOUBLE_BONUS
ITEM_DROP_BONUS
POTION_BONUS
IMMUNE_STUN
IMMUNE_SLOW
IMMUNE_FALL
CURSE_PCT
STA
ATTBONUS_WARRIOR
ATTBONUS_ASSASSIN
ATTBONUS_SURA
ATTBONUS_SHAMAN
ATTBONUS_MONSTER
MAX_HP_PCT
MAX_SP_PCT
SKILL_DEFEND_BONUS
NORMAL_HIT_DEFEND_BONUS
RESIST_WARRIOR
RESIST_ASSASSIN
RESIST_SURA
RESIST_SHAMAN
ENERGY
RESIST_CRITICAL
RESIST_PENETRATE
Version 2.2 Changelog
* Introduced the new Rev system. I'm now going to built up on revisions. Vanilla 2.2 has revision 51204
* C++ version changed to c++11
* Compiler changed to gcc48
* Bugfix: yang limit should work properly
* Bugfix: HP/MP won't be resetting on teleport if overflowing
* Bugfix: Many crashes fixed in cause of false formating arguments
* Bugfix: No guild war crash anymore
* Bugfix: Conversions made to bypass unsigned and signed comparisons
* Bugfix: internal IP fix; If there are errors left, just set the IP in your CONFIG
* Bugfix: Monarch system fixed in dbcache
* Bugfix: 6/7 attributes
* Bugfix: command_log works with every locale
* Bugfix putting things for 0 gold into shops works again
* Bugfix: reload q shouldn't crash anymore. Still NOT recommended but it'll print out errors if the questmanager does not respond
* Bugfix: The speedhack limits got retuned so you won't be teleported back anymore while riding
* Bugfix: You can now use stackable items and remove them with item.remove() without loosing the stacks. Skillbooks etc. will be handled this way too
* Feature: Dbcache can now start without txt-files
* Feature: If you're warped into a non-existing map or non-existing coordinates your coordinates will be resetted to map1 of your village; You won't need unstuckers anymore
* Feature: adminpage_ip set to localhost by default so it'll only listen to itself to prevent attackings from API tool. You can disable it with a CONFIG-option.
New conf.txt options (refers to dbcache):
TXT_STARTUP: 0/1
1 = enabled. Disabled by default. Enable to boot with txt-files instead of sql
New CONFIG options:
package_enable: 0/1
1 = enabled. Disabled by default. Enable to use the package-feature.
log_level: 0/1/2
Sets the logging level. 0 means to logs will be entered in your database.
1 means that the most important tables (hack-logs for example) will be used
2 means that all logging tables will be used
new_test_server: 0/1
Protects your test-server so the gamecore will check if accounts are written into gmlist before granting them implementor-privileges.
new_gm_host_check: 1/0
Checks the gmhost and gmlist for the right ip before granting privileges. Disabled by default.
adminpage_enable: 1/0
Enables the adminpage-features. Disabled by default (say bye bye to API tools)
adminpage_no_localhost: 1/0
Disables the security feature which inserts localhost into your adminpage_ip so it'll only listen to localhost.
item_floor_time: int
Set the time how long a dropped item will be lying on the ground (by monsters)
item_ownership_time: int
Set the time how long a dropped item will be owned by a player (by monsters)
max_rank_points: long int
Set the maximum rank points
movement_speed: int
Set the initial movement speed for players.
belt_all_allow_items: 0/1
Allow Players to store every item in their belt inventory
attr_rare_enable: 0/1
Allow the using of rare attributes (6th and 7th attributes). Default: ON.[/quote]
New quest-functions
pet.is_mine()
Future plans:
* more error handling
* skilldmg-hack fix
* kickhack fix
* more CONFIG-options to drift away from using dif-files for customizations