Warband Script Enhancer 2 (v1.1.2.6)

Users who are viewing this thread


Master Knight
Warband Script Enhancer 2

What is the Warband Script Enhancer 2?
It is game engine a compatible with any Mount & Blade Warband module, originally written cmpxchg8b for cRPG. Fixed, updated to latest version of Warband and open to support any modules.


- All Warband 1.174 features.
- All WSE features.
- Optimized and more efficient rendering, advanced graphic settings.
- Sound Occlusion.
- Ragdoll soak - blows is beaten on corpses and thus prevents an unintentional teamhits.
- More informative logs for a dedicated server, autorestart feature, new console commands.
- Flexible and convenient multi-tier configs system, all settings in one place. Moved settings from module.ini and many new ones added.
- Custom reassignable keys for modders.
- New operations, triggers and many more.
- Fixed many Warband's bugs.
- Supports WFaS.
- Supports Steam Workshop.
- FastDL for server's maps.


WSE2 Launcher source
PHP ogp and rcon classes
C# rcon
Python rcon
WSE Profiler


1. Download WSE2
2. Extract WSE2 files in Warband folder
3. Run wse2_launcher.exe

Dedicated Server
1. Download WSE2
2. Extract WSE2 files in dedicated server folder
3. Edit server_config.ini for server specific options
4. Run bat file. Example: start mb_warband_wse2_dedicated.exe --config-path server_config.ini -r Native.txt --module Native

1. Download WSE2
2. Enhance the Module System with the files in the WSESDK directory (see README.txt for more information)
3. Package WSE2 in your mod download

-Multiplayer campaign mode - player's party control.
-Lua update - header_operations: Fix crash when reading very long lists, allow operation references (used for alias names).
-Fixed item requirement config options.
-Fixed saving for fMessagesScale config options.
-Dislay item name without modifier for ammo when picking up items from the ground. Display messages about picking up and dropping items for multiplayer.

Previous versions
-Multiplayer campaign mode - added player_get_party_id, player_set_party_id, party_get_player_id, party_is_non_player operations.
-Extended set_camera_follow_party operation.
-Lua update - global var access, scene prop triggers, few new features, more improvements to luaGuide.
-Fixed possible crash with spawn operations without active mission scene.
-Fixed bug with props.
-Fixed sokf_dont_move_agent_over prop flag.
-Fixed speaker agent display for conversation window.
-Multiplayer campaign mode - network events for attached parties, battle map events; updated party replication.
-Added ti_on_agent_fill_movement_capsule trigger.
-Armor metamesh added to agent's metameshes before ti_on_init_trigger.
-Multiplayer campaign mode - network events for party stacks and datetime sync.
-Added pf_dont_send_to_clients party flag.
-Profiler update - before, you had to start/stop the entire game to make a recording. Now there are commands for this, and you can add markers with text. It uses a new binary format that allows viewing in timeline mode with many comfort features and also added a search bar for the list view.
-Added profiler_start, profiler_stop, profiler_is_recording, profiler_mark, party_get_banner_icon, party_get_extra_icon operations.
-Lua update - extend vector3, update missing documentation, more examples, better dark theme.
-Development of a multiplayer campaign mode has begun.
-Added messages font scale option.
-Added ti_on_agent_fill_collision_capsule trigger.
-Fixed string parsing with " symbol from module files.
-Fixed top right title for notes window.
-Fixed Warband's zoom bug at high zoom amount.
-Fixed crash for particle systems with zero num particles.
-Added acf_apply_slope_for_human animation flag.
-Added item_set_horse_skeleton_model operation.
-Fixed a bug with players spawn for multiplayer.
-Fixed function for removing tags for strings.
-Fixed outer terrains with water.
-Operation agent_set_attached_scene_prop works with any bones, not only with hard-coded.
-Increased the maximum number of bones to 64.
-Added skeleton_model_set_bone_body_section and skeleton_model_clean_body_sections operations.
-Extended prop_instance_intersects_with_prop_instance operation - additional check_polygon_to_polygon parameter.
-Fixed and extended try_for_agents operation - additional parameter for mission grid iterator.
-Added "Own kills and player deaths" value for Kill Messages config option (iMultiplayerKills).
-Fixed ai bug with target selection for melee behavior.
-Added ti_on_init_item trigger for gloves.
-Extended ti_on_init_item trigger.
-__int64 support for store_trigger_param, return_values, store_return_value operations.
-Updated muparser - fixed feval operation.
-Displayed top string of script call stack ingame.
-Fixed body color for itp_force_show_body item flag.
-Fixed default body for scenes without body and sf_generate flag.
-Fixed string parsing for multiplayer_send_chat_message_to_player, multiplayer_message_put_string operations.
-Fixed problems when players try using some props.
-Fixed troop_get_inventory_slot and troop_get_inventory_slot_modifier operations.
-Fixed walking max speed for human agents.
-Fixed itp_force_show_body, itp_force_show_left_hand, itp_force_show_right_hand item flags.
-Added shift_entry_point operation.
-Extended entry_point_get_position operation.
-Fixed bug with starting modules with hyphen in name.
-Added set_show_crosshair, server_set_ghost_mode_advanced operations.
-Added bShowCrosshair config option.
-Properly fixed dead agents hands bug when scale of agents is not equal to 1.0. bDoNotMakeHandsParallelToGround has been removed as no longer needed.
-Fixed possible crash for try_for_agents, prop_instance_receive_damage operations.
-Fixed lua_to_int, lua_get_type operations.
-Added fPowerDrawSkillDamageBonus, fPowerThrowSkillDamageBonus, fPowerStrikeSkillDamageBonus config options.
-Increased maximum value for Battle Size in settings.
-Fixed some ai bugs.
-Fixed warband_compatibility.ini processing.
-Fixed left hand mesh for gloves.
-Added agent_set_missile_items_prune_time, agent_set_action_speed_modifier, agent_get_action_speed_modifier, agent_set_left_hand_weapon_collision operations.
-Fixed crash, when start game with sound off and turn on sound ingame.
-Fixed mission_cam_set_animation operation.
-Removed item modifier's check for Warband's operations for better compatibility.
-Added agent_set_dropped_items_prune_time, reload_item_kinds, reload_troops, reload_parties operations.
-Fixed troop_set_skill_points, troop_set_attribute_points, troop_set_proficiency_points operations.
-Added fToggleItemModeCooldown config option.
-Fixed position_align_to_ground operation.
-Fixed itp_covers_head and itp_covers_beard item flags for body items.
-Fixed scrollbar for Control settings window.
-Added FastDL - quick download of server's custom maps from external storage.
-Fixed `start` dedicated server console command.
-Fixed agent's camera when crouching.
-Fixed bugs after previous update.
-Fixed parsing of integers for module files with incorrect values.
-Fixed bugs with thrown weapons.
-Fixed set_fog_distance operation.
-Added ai_mesh_face_group_translate operation.
-Fixed ai_mesh_face_group_show_hide, agent_get_current_ai_mesh_face_group operations.
-Added set_shuffle_factions_with_maps and get_shuffle_factions_with_maps dedicated server commands.
-Added wse_mission_debug_window mapped presentation.
-Fixed player_get_value_of_original_items operation.
-Fixed gk_character_window key for menu and tactical windows.
-Fixed module selection from the command line for dedicated server.
-Fixed perma bans for dedicated server.
-Fixed Vsync issues.
-Fixed crash with empty meta meshes for prop_instance_deform_to_time, prop_instance_deform_in_range, prop_instance_deform_in_cycle_loop, prop_instance_get_current_deform_progress, prop_instance_get_current_deform_frame, prop_instance_set_material operations.
-Renamed fmodex.dll and steam_api.dll to prevent compatibility issues with vanilla game in same folder.
-Fixed agent_get_bone_position operation.
-Added unicode support to dedicated server console.
-Added tf_scrollable_horizontal and tf_scrollable_horizontal_style_2 flags which enable a horizontal scrollbar for container overlay.
-Updated overlay_get_scroll_pos and overlay_set_scroll_pos operations.
-Added Steam Api - supports Overlay and Workshop.
-Automatically adds postFX_WSE2 to postFx.fx file.
-Fixed itp_replaces_shoes item flag.
-Added launcher for WFaS.
-Updated launcher - supports mods from Steam Workshop.
-Added CTRL+M hotkey for "Restore module data" option.
-Fixed display of symbol <.
-Fixed text color for checkbox.
-Fixed display extra text for parties.
-Fixed texture offset for oceans and rivers animation.
-Fixed combo button bugs.
-Fixed arguments order for game_missile_dives_into_water mapped script.
-Added overlay_enable, overlay_item_set_text operations.
-Extended start_map_conversation operation.
-Added bLocalVariablesZeroInitialization config option (default true).
-Fixed overlay_button_set_type, send_post_message_to_url_advanced operations.
-Added agent_kick and party_stack_set_num_upgradeable operations.
-Fixed troop_ensure_inventory_space, item_get_shield_height, item_get_horse_scale operations.
-Added bUseBorderedShadowSampler config option.
-fMissileDamageSpeedPower and fMeleeDamageSpeedPower config options limited to range 1.0-2.0.
-Added "Create Language Template" to Edit Mode options.
-Fixed incorrect default value for iMaxNumTreeInstances and iMaxNumFloraInstances.
-Added "Edit Mode" tab to Options window.
-Added "Set lod quality" option.
-Fixed character window crash, if it is called from menu window.
-Fixed quests title.
-Fixed incorrect default value for bDontLoadRegularTroopInventories.
-Fixed lua bugs.
-Fixed possible "Too many vertices" crashes for particles and combining meshes.
-Fixed an agents spawning bug which caused the operation mission_tpl_are_all_agents_spawned to work incorrectly.
-Fixed transparency for displayed messages.
-Fixed the display of scripting errors for operations performed from lua.
-Fixed lua constants loading.
-Fixed crashes for modules with incorrect item carry flags.
-Fixed prop_instance_intersects_with_prop_instance, set_party_creation_random_limits operations.
-Fixed memory leak for arrays operations.
-Added get_mouse_map_coordinates operation.
-Fixed array_copy operation.
-Fixed overlay_set_size operation for game button.
-Operations set_physics_delta_time, set_ally_collision_threshold, set_prop_collision_threshold, set_horse_friendly_fire no longer change the global settings in rgl_config.ini.
-Fixed first person view for armors with itp_covers_hair flag.
-MB_MAX_NUM_STATEMENT_OPERANDS and MB_MAX_NUM_STATEMENT_BLOCK_PARAMS increased from 16 to 32. Useful for call_script with more parameters.
-Added get_campaign_time and set_campaign_time operations.
-Added savegame slot to wse_game_saved and wse_savegame_loaded scripts.
-Removed 32 num samples cap for sounds.
-Added player_get_wse2_version operation.
-Refixed sf_always_send_via_network sound flag.
-Fixed cursor visibility for mbYesNoWindow.
-Added WSE version to xml server info.
-Added joined player's WSE2 version to dedicated server logs.
-Fixed map crash.
-Fixed iMultiplayerKills config option.
-Added fMouseScrollTime config option.
-Added "Player deaths" value for Kill Messages config option (iMultiplayerKills).
-Refixed shadowmap rendering bug.
-Fixed ai weapon selection.
-Fixed party pathfinging.
-Fixed click sound.
-Fixed agent's pathfinding bug.
-Fixed try_for_dict_keys, play_sound operations.
-Added mission debug window.
-Removes the engine limit of 16 skins.
-Fixed troop_set_age operation.
-Fixed wse_savegame_loaded trigger - triggered only with savegame loaded.
-Fixed ti_on_scene_prop_hit, ti_on_agent_blocked, ti_on_shield_hit, ti_on_shield_penetrated triggers.
-Extended ti_on_item_wielded, ti_on_item_unwielded triggers (param 3: item slot), ti_on_shield_hit trigger (param 6: item modifier, param 7: missile item modifier).
-Fixed proficiency improvement when dealing damage in singleplayer.
-Fixed failure_callback_script_no for send_message_to_url_advanced and send_post_message_to_url_advanced operations.
-Fixed knockdown chance.
-Fixed crash with remove invalid parties when saving the game.
-Fixed ai_mesh_face_group_show_hide, party_quick_attach_to_current_battle operations.
-Fixed sokf_type_barrier3d and sokf_type_ai_limiter3d.
-Fixed headshot ui message.
-Fixed + sign in party window with companion level up.
-Added cast_ray_agents operation.
-Added bServerLockFov, iMultiplayerEventForAnnounce config options.
-bRagdollSoakApplyForce works for multiplayer without enabled bBreakWarbandCompatibility (with latest WSE2 on server and client both).
-Added bRagdollSoak and bRagdollSoakApplyForce to client options menu.
-Added "announce" console command for dedicated server.
-Fixed distribute_party_among_party_group, hero_can_join, hero_can_join_as_prisoner, rest_for_hours, rest_for_hours_interactive operations.
-Fixed crash with sounds channelCallback.
-Fixed Warband bug - rare crash with autogenerated degradable flora.
-Fixed crash with enabled profiling when the recursion limit is reached.
-Max num nested loops reduced to default 128, which should reduce freezes in badly written scripts with lots of nested loops and recursion.
-Fixed stack overflow for local variables.
-Fixed wound treatment - works for the main party, even if main party is disabled.
-Fixed music switch bug.
-Fixed store_free_inventory_capacity operation.
-Fixed crash with invalid string in rglFormat.
-Fixed change_screen_equip_other and change_screen_loot operations.
-Fixed ti_on_presentation_run trigger.
-Fixed clear mission after exiting.
-Fixed stopAllSounds bug.
-Fixed module resource loading if this file already loaded as core resource.
-Fixed prisoners count for party_count_members_of_type, party_count_prisoners_of_type, store_troop_count_prisoners, party_add_prisoners operations.
-Fixed a bug with non-attacking melee bots.
-Fixed store_num_parties_destroyed, store_num_parties_destroyed_by_player operations.
-Restored Warband compatibility for options_get_damage_to_player, options_set_damage_to_player, options_get_damage_to_friends, options_set_damage_to_friends operations.
-Fixed fDamageToFriends config option for game difficulty formula.
-Fixed bAiDecideDirectionAccordingToDamage config option.
-Fixed itp_covers_hair_partially item flag.
-Fixed agent_set_attack_action, agent_set_defend_action operations.
-Fixed instancing.
-Fixed shadowmap rendering bug.
-Fixed game_missile_launch mapped script.
-Fixed prop_instance_remove_light operation.
-Fixed combo button text size.
-Added wse2 launcher.
-Restored shader compatibility.
-Restored hair materials.
-Added bLoadModuleIniOptions, bLimitHairColors config options.
-Warning messages requires enabled edit mode.
-Head deformation applied to all helmet's meshes, not just for the first.
-Updated Music manager.
-Fixed overlay_set_size operation for combo button and slider.
-Added bSyncBlockDirections config option.
-Fixed fWeaponPointsPerLevel, fSkillPointsPerLevel, fAttributePointsPerLevel config options.
-Fixed icons for items on inventory screen.
-Fixed ti_on_agent_spawn trigger - missing trigger_param_2 (entry_no).
-Updated FMOD Ex library.
-Fixed VSync.
-Fixed crash with agent fade out.
-Added missing game variables.
-Refixed set_shader_param_... operations with threaded renderer.
-Fixed itp_cant_use_on_horseback item flag.
-Fixed ti_on_init_map_icon trigger.
-Fixed vertex animation speed for map icon.
-Improving loading time for client. Especially on an SSD.
-Fixed crash in Viking Conquest.
-arf_stick_item_to_left_hand animation flag works better with cycled animations.
-Fixed iMinNumAgentsForNavMeshReuse config option.
-Fixed default value for bTakeAttackersSpeedForRangedSpeedBonus and iIndexBufferSizeStatic config options.
-Small bugfixes.
-Added agent_set_time_speed_multiplier, agent_get_time_speed_multiplier operations.
-Added missile hit sounds for dynamic props.
-Fixed deform head for itp_covers_head flag.
-Fixed invalid values processing for hair color gradiant in module skins.
-Added iNumPlayersLimit config option.
-Added multiplayer_connect_to_server operation.
-Fixed server_set_max_num_players operation.
-Fixed beards and accessories.
-Fixed overlay_set_tooltip operation.
-Increased max number local variables to 1024.
-Added bAllowDuplicateMeshes config option.
-Fixed particle system degrade distance.
-Fixed singleplayer bug with the player spawning after allies.
-Added iAttributeLimit, iMinBattleAdvantage, iMaxBattleAdvantage config options.
-Fixed bug with battle advantage.
-Added bHorseFriendlyFire config option.
-Added set_horse_friendly_fire operation.
-Implemented facecode viewer for edit mod. (Ctrl + E)
-Added bMainMenuScene config option.
-Added wse_initial_window_start mapped script.
-Fixed spectator camera bug with lock to team members view.
-"Enable edit mode" added to ingame configs menu.
-Debug menu on initial screen shows only with enabled edit mode.
-Added "Restore module data" to debug menu.
-Added bDoNotMakeHandsParallelToGround config option.
-Fixed reloading bug - only one projectile was loaded, regardless of weapons max ammo.
-Fixed make_screenshot operation.
-Implemented troop viewer for edit mode.
-Added warband_compatibility.ini support.
-Fixed brace rotation.
-Minor bugfixes.
-Added WFaS build.
-Added bMoreProficiencyEffectForMovingSpeedWhileReloading config option.
-Added sf_use_next_for_far sound flag.
-Fixed sf_always_send_via_network sound flag.
-Fixed sound bugs.
-Fixed backpedal speed.
-Fixed shot difficulty message.
-Fixed damage type for itcf_overswing_spear.
-Fixed bug with troops upgrade to trp_player.
-Fixed store_random_party_of_template operation.
-Fixed try_for_players operation.
-Implemented Stats window and character import/export.
-Fixed troop_set_proficiency operation.
-Fixed bug with crossbow reloading.
-Implemented WSE Profiler (Profiling config options).
-Added bEditMode config option (currently only displays messages in rgl_log.txt).
-Fixed sModuleDownloadUrl config option.
-Added bAllowKickDuringMeleeAttacks config option.
-Fixed itp_cant_reload_while_moving and itp_cant_reload_while_moving_mounted item flags.
-Added some Carribean operations - set_random_seed, store_application_time, is_party_skill, agent_get_horse_rotation_velocity, agent_get_current_vertical_speed, agent_set_current_vertical_speed, agent_get_position_in_group, agent_get_current_ai_mesh_face_group, prop_instance_remove_particle_system, prop_instance_remove_light, prop_instance_get_sound_progress, cur_item_mesh_set_color, cur_item_add_mesh_with_material, party_switch_stacks, party_stack_upgrade, position_get_length, get_dot_product_of_positions, get_cross_product_of_positions, str_store_skill_desc, overlay_button_set_type, overlay_get_scroll_pos, overlay_set_scroll_pos.
-Extended add_point_light and add_point_light_to_entity operations - range parameter.
-Operations that are performed in lua now get context (trigger).
-Fixed particle_system_remove and cur_item_add_mesh operations.
-Fixed reloading bug.
-Fixed agent_equip_item, face_keys operations.
-Added undocumented store_main_party_wounded, str_store_agent_face_keys Warband's operations.
-Fixed ai weapon usage orders.
-Fixed agent_ai_set_simple_behavior operation.
-Fixed cooldown for horse charging and weapon alternative usage.
-Fixed bUseAdvancedFormation config option.
-Fixed bug with division's leader assignment.
-Added fLancePikeEffectMinLength, fLancePikeEffectMinDamage, bAdjustedAttackHoldFactor, bAdjustedCrushthrough, bAdjustedTwoHandedAndPolearmPenalties, bAdjustedShieldSkillDamage, bAdjustedStagger, bAdjustedKnockdown, bNerfHorseManeuver, bItemSpeedAffectSpeedBonusForDamage, bTakeAttackersSpeedForRangedSpeedBonus, bTweakCrushthroughDamageReduction, bRandomTroopEquipping, bReduceDamageRandomness, bParry, bCouchedLanceChambered, fKickRange, fHorseBumpMinSpeed, fMaxSlowMotionDeltaTimeStep config options.
-Fixed bRagdollHeadshots config option.
-Added bAdvancedLogFormat config option.
-Fixed chamber and sweetspot for itp_has_upper_stab item flag.
-Added bAdjustedSweetSpot, bPolearmStagger config options.
-Unicode support for strings operations.
-Fixed troops_can_join, troops_can_join_as_prisoner, remove_troops_from_companions, remove_troops_from_prisoners operations.
-Fixed party_can_join, party_can_join_as_prisoner, party_can_join_party operations.
-Fixed party_force_add_members and party_force_add_prisoners operations.
-Fixed bug with rain sound when it snows.
-Fixed set_shader_param_... operations with threaded renderer.
-Fixed position_rotate_x_floating, position_rotate_y_floating, team_get_order_position operations.
-Fixed singleplayer's saving/loading for fDamageToSelf and fDamageToFriends config options (for warband's compatibility only 25%, 50% and 100%).
-Fixed mission_cam_animate_to_position and mission_cam_animate_to_position_and_aperture operations.
-Fixed Warband's savegame compatibility.
-Added skin_set_blood_color, item_set_horse_blood_color operations.
-Fixed mission_tpl_entry_clear_override_items, mission_tpl_entry_add_override_item operations.
-Added cheat mode.
-Added bCheatMode, iMaxNumNotificationMessages, bHasOneHanded, bHasTwoHanded, bHasPolearms, bHasArchery, bHasCrossbows, bHasThrowing config options.
-Fixed ingame console.
-Fixed agent_set_max_hit_points operation.
-Added Lua support.
-Added agent_set_footstep_sound operation.
-Added ti_on_scene_prop_is_deforming trigger.
-Added itp_covers_hands item flag.
-Added all scene prop triggers support for add_point_light, particle_system_add_new, particle_system_remove, set_forced_lod, play_sound, add_point_light_to_entity, particle_system_emit operations.
-Fixed prop_instance_add_particle_system operation.
-Module music loading without obsolete mtf_module_track music flag.
-Fixed crash with game_missile_launch mapped script.
-Fixed ui_cant_reload_this_weapon_on_horseback message spam.
-Added TexturesHD folder support.
-Added bAdvancedTurnRateFormulaForMelee config option.
-Fixed bRestrictAttacksMoreInMultiplayer config option.
-Fixed Windows version detect.
-Added acf_lock_rotation animation flag.
-Added bRagdollSoak and bRagdollSoakApplyForce config options.
-Fixed fKickCooldown config option for multiplayer client.
-Continued work on sound system, fixed crash.
-Fixed reloading sound for muskets.
-Added agent_body_meta_mesh_deform_in_range, agent_body_meta_mesh_deform_in_cycle_loop, agent_body_meta_mesh_get_current_deform_progress, agent_body_meta_mesh_get_current_deform_frame operations.
-Rewrited sound system for full sf_stream_from_hd support.
-Disabled frequency variation for sf_stream_from_hd sound flag.
-Fixed store_last_sound_channel operation.
-Removed cap for number of music tracks.
-Fixed weapon hud for bUseCrossbowAsFirearm config option.
-Fixed camera height while crouching.
-Updated custom game keys. Increased to 20. Custom keys saved separately for each module. You can map default keys to custom game keys with module_controls_template.ini (check WSE2 SDK).
-Added bLogIPs config option.
-Updated game_key_get_key operation.
-Added dummy for options_get_cheat_mode operation.
-Added bApplySkillForCouchingDamage config option.
-Fixed display_message operation.
-Fixed set_show_messages operation.
-Fixed crash with joining on server.
-Fixed server_map_rotation_get_map, position_get_vector_to_position, set_spawn_effector_scene_prop_id, agent_set_attached_scene_prop operations.
-Fixed sf_always_send_via_network sound flag.
-Fixed bSyncRagdollEffects, ItemRequirement config options.
-Fixed http response handling.
-Fixed dedicated server's schedule commands.
-Minor bugfixes.
-Fixed blocking while kick.
-Fixed couching bug on servers with iLanceControl=0.
-Fixed str_store_join operation.
-Fixed http server queries.
-Added bTurnAgentAsMultiplayer config option.
-Fixed bugs with sticked missiles to agents and shields.
-Fixed agent_set_item_slot_modifier operation.
-Extended agent_set_animation_progress operation.
-Fixed change_screen_give_members operation.
-Fixed change_screen_exchange_members operation.
-Fixed party_add_xp operation.
-Fixed experience bug.
-Added iBattleSizeMin, iBattleSizeMax config options.
-Increased battle size limit.
-Fixed bugs with character screen, date change and display message.


How do I know the executable is not a virus?
You don't. :smile:
Scan it, sandbox it, run it in virtual machine, whatever. If you don't want to run it then don't.

Isn't modifying/cracking game files illegal?
Warband executable file is not modified. WSE2 is a separate application.

Does this allow people who don't own Warband to play?
You have to buy a Warband key to use WSE2.

When I try to run it, it says that a .dll file is missing.
Try installing the Microsoft Visual C++ 2012 Redistributable Package (x86) and Microsoft Visual C++ 2013 Redistributable Package (x86).

My game crashes/shows weird errors.
Post here and paste the contents of rgl_log.txt file in your game directory.

How can I switch to DirectX 7 mode?
You can't. The WSE2 client does not support DirectX 7.

I can run any mod for Warband with WSE2 without any adjustment?

I run my mod in WSE2 and get a black screen with FXAA or Post Processing Filter enabled.
WSE2 usually does this automatically, but you need to edit postFX.fx file from your module and add to the end this strings
#if WSE2
#include "postFX_WSE2.fx"

I want to add WSE2 to my mod. What do I do?
Add the required WSE2 files to your mod download. Check WSESDK for more info.

Is vanilla and WSE2 server and client compatible?
Yes, you can play from vanilla client on wse2 servers and play from wse2 client on vanilla servers. However, there are some features that work only if both the server and the client use WSE2, Drop Shield button for example.

Where are WSE2 settings?
...\Documents\Mount&Blade Warband WSE2

I can use saves from Warband in WSE2?
Yes. Copy savegames from ...\Documents\Mount&Blade Warband to ...\Documents\Mount&Blade Warband WSE2

I am modder. How in my mod to determine that WSE2 is used?
For WSE2 store_wse_version return 5 for major version, modern WSE return 4.

How can I improve the performance of the mod?
Enable edit mode, run mod and check rgl_log.txt. You need to fix PERFORMANCE WARNING. Meshes with rigging requires material with skinning shader. Meshes without rigging requires material without skinning shader. This will increase performance for both WSE2 and Warband since the CPU is the bottleneck.

How do i use the Steam Workshop?
You need to have the game on a Steam account. Steam must be running and you must be logged in before starting the game.


- cmpxchg8b, initial WSE2 developer
- AgentSmith, some new WSE features, Lua scripting support, Profiler update
- Useful_Lesbian, WSE2 launcher developer


- Sir John Hawkwood
- DoDoCat
- Azremen
- SupaNinjaMan
- Vetrogor
- Anoki
- khamukkamu
- Gibby Jr
- DetektivAro
- Useful_Lesbian
- OrientSea
- Master Rawl
- Wuan
- Fallen Lord
- Hersir Olgierd Osvaldsson
- noooxy
- Ruthven
- Zion
- Loptr
- johnathancooperwt

External software:

- muParser
- Open Game Protocol
- Source RCON Protocol
- JsonCpp



You can support developing by
Last edited:
Ready documentation for config options. You can use it to tune the game, port and change modules.

Command line options
  • --module <value> runs this module
  • --config-path <value> sets config-path
For client
  • --no-intro skips intro videos
  • --address try connects to server
  • --password sets password for this connection
For dedicated server
  • --auto-restart sets num auto restarts
  • -r <value> or -R <value> sets command file
New dedicated servers console commands
  • exit shuts down server, actually an undocumented Warband command
  • get_version returns WSE2 version
  • get_module returns current module
  • set_module <value> changes module and restarts server
  • schedule_exit returns scheduled exit
  • schedule_restart returns scheduled restart
  • schedule_exit <minutes> schedules exit, if <minutes> <= 0, cancels scheduled exit
  • schedule_restart <minutes> schedules restart, if <minutes> <= 0, cancels scheduled restart
  • schedule_exit <minutes> <seconds> schedules exit, if <minutes> and <seconds> <= 0, cancels scheduled exit
  • schedule_restart <minutes> <seconds> schedules restart, if <minutes> and <seconds> <= 0, cancels scheduled restart
  • set_server_fps_limit <value> sets max fps (10-1000)
  • get_server_fps_limit returns max fps
  • set_broadcast_chat <0 or 1> sets if chat messages broadcasted to console window
  • get_broadcast_chat returns if broadcast chat is enabled or not
  • shuffle_maps shuffles maps rotation
  • set_auto_shuffle_maps <0 or 1> sets if maps auto shuffle
  • get_auto_shuffle_maps returns if auto shuffle maps is enabled or not
  • set_shuffle_factions_with_maps <0 or 1> sets if factions shuffle with maps
  • get_shuffle_factions_with_maps returns if factions shuffle with maps is enabled or not
  • stats list returns players list
  • stats <value> returns info about player. Value can be player name or player no
  • kick_player <value> kicks player from server. Value can be player name or player no
  • announce <string> send message to all players. iMultiplayerEventForAnnounce should be correct event for used module
Config system

WSE2 used new configs system.
If bLoadModuleIniOptions enabled, then WSE2 loads Warband's setting from module.ini and they have priority. Otherwise module.ini used only for resource loading and version.
Base config file - Documents\Mount&Blade Warband WSE2\rgl_config.ini.
Module options instead module.ini specified in Modules\module\module_config_template.ini. Every time when you run mod, it is copied to Documents\Mount&Blade Warband WSE2\module_name\module_config.ini and overwrite settings from rgl_config.ini.
Also for server used --config-path server_config.ini for server specific options.
Analogues of settings from module.ini can usually be found in documentation.

Custom Keys

Modules\module\module_controls_template.ini - default binds for Custom Controls inside Options Menu.
In order for custom keys to be active, they need to be assigned a name.


ui_custom_key_1|Clan chat
ui_custom_key_2|Admin chat
ui_custom_key_3|Admin team chat
Last edited:
It is now possible to support WSE2 development on patreon or boosty. With financial support, I will be able to devote more time to development.

  • Scene editor, more convenient and functional than warband.
  • Changing physics engine (required for x64, the latest open havok version is obsolete and does not support x64).
  • x64 build for huge modules.
  • DX11/DX12/Vulkan support.
  • Plugin system.
Last edited:
Interesting. Did you get the source from cmp, or did you figure it out from the built files provided with cRPG? In either case, this is impressive. Solid work, yo.

Interesting, it encompasses more than the new graphics library. Here are the new addon operations I could find using a diff tool:

  • break_loop                                  = 8 #(break_loop), #Break out of a loop, no matter how deeply nested in try_begin blocks (requires allow_wse_execute_statement_blocks = 1 in wse_settings.ini)
  • continue_loop                              = 9 #(continue_loop), #Continue to the next iteration of a loop, no matter how deeply nested in try_begin blocks (requires allow_wse_execute_statement_blocks  = 1 in wse_settings.ini)
  • try_for_dict_keys                          = 18 #(try_for_dict_keys, <cur_key_string_register>, <dict>), #Loops through keys of <2> (requires allow_wse_execute_statement_blocks = 1 in wse_settings.ini)
  • agent_get_ranged_damage_modifier = 3323 #(agent_get_ranged_damage_modifier, <destination>, <agent_no>), #Stores <agent_no>'s ranged damage modifier into <destination>
  • agent_add_stun                          = 3324 #(agent_add_stun, <agent_no>, <duration>), #Adds stun to <agent_no> for <duration> milliseconds
  • multiplayer_cur_profile_get_skin      = 3414 #(multiplayer_cur_profile_get_skin, <destination>), #Stores current profile's skin into <destination>
  • get_camera_position                    = 3615 #(get_camera_position, <position_register_no>), #Stores camera position and rotation into <position_register_no>
  • item_set_horse_blood_particles      = 3809 #(item_set_horse_blood_particles, <item_kind_no>, <particle_1_no>, <particle_2_no>), #Sets <item_kind_no>'s horse blood <particle_1_no> and <particle_2_no>

New Trigger:

ti_on_shield_penetrated = -107.0 #can only be used in module_mission_templates triggers
# Trigger Param 1: receiver agent no
# Trigger Param 2: dealer agent no
# Trigger Param 3: inflicted damage
# Trigger Param 4: raw damage (before being soaked by armor)
# Trigger Param 5: item kind no
# Trigger Param 6: item modifier
# Trigger Param 7: missile item kind no
# Trigger Param 8: missile item modifier

# Trigger Result: if set, do not penetrate shield

This is super exciting! I'm very keen to get into the arrays and dicts. Btw, with those having save to and load from file options, is that necessary for them to persist if the player quits and restarts the game? Or is it just for the potential to load values into a different save?
Awesome! But few things I've noticed;

Characters tab is not accessible from the map, C key is not working and manually clicking doesn't work either. (Tested with Native)

Mods with custom ingame banner creators have transperant banners on world map, thus not showing the banner created by the player, it was working with WSE 1.174. If its something that I can solve can anyone show me what to look for?



Khamukkamu said:
Is there another way to enable Cheat Mode (e.g Ctrl+ Mouse Click for teleport)? Thanks!

options_set_cheat_mode in header_operations_addon.py

EDIT: Actually now that I'm testing it I see what you were asking, there's no option to enable it in launcher, which makes things a bit difficult. Outside of modding it in, it looks like it's impossible to enable cheats...
Trying to run with NeoGK and I am receiving the following error:
ERROR: Number of alternatives exceeds 3 for shader agent_shader

After some googling, this forum thread from cmp seems to be related, but that config file no longer exists with WSE2: http://forum.melee.org/crpg-client-beta/number-of-alternatives-exceeds-3-for-shader-def_shader/

Any thoughts on this one?
Top Bottom