Personnel Management V1.1.1
Personnel Management for Farming Simulator 25 adds an employee system with applicants, salaries, loyalty, experience, specializations, training, resignations and helper assignment, including savegame configuration and multiplayer sync. The overview of personnel management extends the AI-powered assistants to include named employees, applicants, and long-term personnel development. Employees possess experience, reliability, loyalty, salary, sick days, and specializations. These values influence assistant work, transport orders, fuel and material consumption, wear and tear, salary demands, and terminations. Menu and Settings: Open the ESC menu and select Personnel Management. The page contains Overview, Employee Management, and the Applicant Market. Entries are selected with the mouse. ENTER executes the main action, T toggles the transport assignment, G approves an outstanding salary request, N rejects it, S starts a training session if permitted, and ESC returns to the Overview. Work and Transport: When a normal AI helper task is started, the mod opens a staff selection window instead of launching an anonymous helper. Transport orders are managed via the staff management: Assign a transport worker before an A-to-B transport order by pressing T. Salaries, Dismissals, and Terminations: Employees receive monthly salaries. These are based on the number of days worked per month, the economic situation, and the employee’s performance. Dismissed employees remain available during their notice period and are only removed from the company after their salary has been paid at the appropriate month-end. Low loyalty can trigger warnings, salary demands, and termination. Experience and reliability: Employees gain experience after completing tasks. Extensive experience is now a long-term goal; very high levels should be rare. Inexperienced employees may work more slowly and cause additional wear and tear or moderately higher consumption of fuel, seeds, fertilizer, liquid fertilizer, herbicide, slurry, digestate, and manure. Reliability impacts short-term dips in performance and sick days. Specializations and Training: Employees can progress in multiple specializations simultaneously. The highest amount of progress is displayed. When a specialization reaches 100%, it is considered learned. Training is a strategic decision: one training session per employee per year, only on the first day of each month. For training on one day per month, it must begin by 12:00 PM. The trained employee is unavailable for the remainder of the month. The cost depends on the monthly salary and specialization; training typically yields approximately 30% progress. Configuration and Multiplayer: The toggleable gameplay effects can now be changed in the game settings via the ESC menu. The savegame configuration file remains available and retains the same values. The mod is multiplayer-ready; employee data, applicants, assignments, salaries, and key status values are synchronized across farms. In a completely new and unsaved game, the ESC menu entry will only appear after saving and reloading. Overview Personnel Management expands the AI helper system with named employees, applicants and long-term staff development. Employees have experience, reliability, loyalty, wages, sick days and specializations. These values influence helper work, transport assignments, fuel and material consumption, wear, wage demands and resignations. Menu and hiring Open the ESC menu and choose Personnel Management. The page contains an overview, employee management and the applicant market. Employee and applicant entries are selected with the mouse. ENTER performs the main action, T toggles transport duty, G grants an open raise request, N declines it, S starts training when it is allowed, and ESC returns to the overview. Work and transport When normal AI helper work is started, the mod opens an employee selection window instead of starting an anonymous helper. Transport jobs are controlled through employee management: assign transport duty with T before starting an A-to-B transport job. Wages, dismissal and resignations Employees receive monthly wages. Wages depend on days per month, economy difficulty and employee quality. Dismissed employees remain available during the notice period and are removed only after payroll at the correct monthly change. Low loyalty can cause warnings, wage demands and resignations. Experience and reliability Employees gain experience after completed work. High experience is now a long-term goal and very high values should be rare. Inexperienced employees can work more slowly and can cause additional wear or moderate additional consumption of fuel, seeds, fertilizer, liquid fertilizer,herbicide, slurry, digestate and manure. Reliability affects short performance drops and sick days. Specializations and training Employees can develop progress in several specialization areas at the same time. The highest open progress is shown in the employee entry. When one progress reaches 100%, the specialization is learned. Training is a strategic decision: one training per employee and year, only on the first day of a month. With one day per month, training must start at 12:00. A trained employee is unavailable for the rest of the month. Training costs are based on the monthly wage and the trained specialization and usually add about 30% progress. Configuration and multiplayer The configurable gameplay effects can now be changed in the game settings in the ESC menu. The savegame configuration file remains available and keeps the same values. The mod is prepared for multiplayer; employee data, applicants, assignments, wages and important status values are synchronized per farm. In a completely new and unsaved savegame, the ESC menu entry may appear only after saving and reloading the savegame. Fixed an issue where the Dismiss button was not displayed in the employee menu. Fixed an issue where the dismissal confirmation appeared again when attempting to dismiss an employee who was already serving their notice period. V1.1.0.1 Fixed an issue where stale, unregistered farm data could cause incorrect farm resolution in multiplayer, resulting in personnel actions being rejected. Version 1.1.0.0 is a major feature, interface, multiplayer and code-structure update. It replaces the former ESC-menu page with a dedicated personnel-management interface, expands applicants and long-term employee development, adds detailed statistics and chronicles, introduces player-defined transport priorities and central salary-request management, and strengthens multiplayer security and server-side validation. Major interface changes Replaced the previous Personnel Management page inside the ESC menu with a dedicated standalone menu. Added the default shortcut Left Ctrl + M to open Personnel Management directly. Added five separate menu pages: Overview Applicants Employees Training Settings Added a consistent tabbed GIANTS-style interface with dedicated navigation icons. Reworked page navigation, person selection and action handling for keyboard, mouse and controller use. Added clear confirmation dialogs for hiring, dismissal and training. Improved input isolation so Enter or other menu actions no longer trigger unrelated actions on another page or after closing a dialog. Enlarged employee and applicant portraits. Added clearer spacing, headings, tables and scroll handling throughout the menu. Added numeric values and dynamic progress bars for experience, reliability, loyalty and training progress. Added visible employee ranks directly next to their values: Helper Skilled Worker Professional Added a dedicated overview illustration and revised menu visual assets. Removed the obsolete applicant-history area from the applicant page. Reworked the employee history area into clearly separated visual panels. Completely redesigned the Overview page. Added a current monthly report containing, among other values: number of employees available employees applicants active jobs recorded work time current monthly wage total last payroll amount Added a separate lifetime-total section. Added farm-wide long-term statistics for: total recorded work time total completed jobs total salaries paid total employees ever hired dismissals resignations retirements Improved the presentation of currently working employees and recent personnel changes. Added clearer display of employer reputation. Increased the applicant-market capacity to a maximum of eight applicants. New savegames now begin with three applicants. Added employer-reputation-based monthly applicant generation. Added up to three monthly applicant-slot rolls. Ensured that at least one applicant is generated when the market is empty. Added a persistent market-age system for applicants. Applicants remain guaranteed during their creation month. Added quality-based departure chances: after the first month change: 10–30% after the second month change: 30–50% after the third month change: guaranteed departure Added visible information showing how long each applicant has been on the market. Added permanent birthdays and continued ageing for applicants. Added more believable age ranges and career histories. Added career backgrounds such as: family farm dairy farm agricultural contractor arable farm mixed farm logistics company agricultural machinery workshop office profession Rebalanced starting experience so a career background does not automatically create unrealistically high agricultural skill. Expanded multilingual first-name and surname pools. Added dynamic applicant-profile text based on: age career background experience reliability loyalty specialization progress time on the applicant market Improved applicant wage requests through reputation, quality and career-related calculations. Added a hiring confirmation before the applicant is employed. Employee profiles and long-term records Added permanent birthdays and continued ageing for employees. Added dynamic employee biographies that develop from the employee’s actual history. Added profile text for: employment duration career background experience level reliability loyalty completed jobs completed training specializations current learning progress Corrected profile grammar and career-background sentence construction. Added a personal employee chronicle. Chronicle events can now include: hiring job start job completion job abort sickness training start training completion acquired specialization salary request accepted salary increase declined salary increase reliability changes loyalty changes transport assignment changes dismissal resignation retirement final employment end Added compact employee career statistics for: completed jobs total work time training history transport status sick days salary requests aborted jobs total salary paid to that employee Added migration support for employees that existed before personal chronicles were introduced. Experience, ranks and work effects Rebalanced experience progression to make high values a long-term achievement. Reduced the frequency of unrealistically high starting experience values. Added more detailed experience bands and learning-time requirements. Added monthly experience limits based on: current experience days-per-month setting Preserved unused learning minutes instead of discarding progress. Limited experience gain per individual job. Improved calculation of effective experience. Main and secondary specializations now improve effective experience in the matching work category. Retained configurable effects on: AI work speed additional wear fuel consumption seed consumption fertilizer consumption herbicide consumption slurry, digestate and manure consumption Improved display of exact values alongside progress bars. Reliability, sickness and job aborts Expanded reliability-related monthly development. Added clearer positive and negative monthly reliability conditions. Retained reliability-based sickness checks and monthly sickness limits. Added a one-time job-abort check for employees with reliability below 50. Added graduated abort chances: below 20 reliability: 20% below 30: 15% below 40: 10% below 50: 5% 50 or higher: 0% A reliability-related abort no longer counts as a successfully completed assignment. Added chronicle entries for aborted jobs. Added varied, gender-aware player messages explaining why an unreliable employee stopped working. Loyalty and employer reputation Expanded the interaction between employee loyalty and employer reputation. Added gradual loyalty movement toward the farm’s reputation. Expanded loyalty effects from: successful payroll negative farm balance long employment duration night work accepted salary requests declined salary requests unresolved salary requests Expanded employer-reputation effects from: hiring payroll negative balance long service accepted salary requests dismissals resignations Employer reputation now has a stronger visible influence on: number of new applicants applicant quality requested wages long-term employee loyalty Added clearer reputation tiers and overview display. Salaries and salary requests Added an editable Standard monthly wage to the Settings page. The standard wage is used when individual wages are disabled. Added direct numeric entry with validation, rounding and clear minimum/maximum limits. Prevented Enter in the wage-entry field from triggering unrelated personnel actions. Preserved permanent salary increases instead of allowing them to be overwritten by later monthly calculations. Expanded total salary tracking per employee and per farm. Added a dedicated Manage salary requests button to the Employee page. Added the default shortcut G to open salary-request management. Added a dedicated salary-request window listing every employee with an open request. The window displays: employee name current monthly salary requested monthly salary Salary requests can now be granted or declined from this central window. Removed the previous direct profile shortcuts that immediately granted or declined the selected employee’s request. Removed the former direct G / N / X decision workflow. Retained all existing consequences for accepted, declined and unresolved salary requests. Retained server-side validation of salary decisions in multiplayer. Expanded practical learning across eight categories: soil cultivation sowing fertilizing crop protection harvesting transport machine care economical working Learning progress is stored separately for each category. Multiple learning categories can progress in parallel. Added clearer display of the strongest current learning progress. Limited employees to a maximum of two acquired specializations. Added separate requirements for the first and second specialization. Added primary and secondary specialization effects. Improved assignment classification and practical-learning distribution. Added specialization events to the personal chronicle. Added a dedicated Training page. Added a table showing: training category progress toward the next specialization cost monthly discount or extra cost Added monthly training availability per category. Each category can be unavailable because no places are offered that month. Added monthly price variation from 20% cheaper to 20% more expensive. Retained the rule of one training course per employee per agricultural year from March through February. Retained first-day-of-the-month restrictions. Retained the noon deadline when playing with one day per month. Employees remain unavailable until the end of the training month. Training progress is now credited only after successful completion at the month change. Added clear information dialogs when training is unavailable or already used for the current agricultural year. Prevented training when the employee is working, sick or already has two specializations. Added training confirmation dialogs. Added training start and completion to the personal chronicle. Dismissal, resignation and retirement Added clearer dismissal deadlines based on the days-per-month setting. Added confirmation before dismissing an employee. Dismissed employees remain employed and generally available until the effective month end. Retained payroll before the employee leaves. Expanded loyalty, reliability and employer-reputation consequences of dismissal. Improved dismissal-history tracking. Expanded employee-initiated resignation handling for very low loyalty. Added clearer resignation notices and chronicle entries. Added a retirement system. Employees may announce retirement from age 55 onward. Retirement probability rises with age and becomes guaranteed at age 70. Employees remain available until the announced retirement at month end. Added retirement status, notices, statistics and chronicle entries. AI helper selection and FollowMe Reworked the employee-selection overlay shown before normal AI helper work. Improved visual consistency with the dedicated personnel menu. Improved employee names, status display and selection handling. Prevented unavailable, sick, training or already assigned employees from being selected. Improved input handling to avoid accidental confirmation from unrelated keys. FollowMe continues to use named employee selection. FollowMe work is recorded as transport work for experience and specialization development. Improved handling of several simultaneous employee jobs. Transport management and priorities Replaced the former per-employee transport toggle with a dedicated transport-management window. Added the default shortcut T to open transport management from the Employee page. Added a list of all employed workers. Employees can be enabled or disabled for transport work. Added a player-defined transport priority order. Active transport employees are displayed with numbered positions. Employees can be moved up or down in the order. Changes are first edited locally and applied only when confirmed. For every new transport job, the mod now checks the saved order from top to bottom. The first currently available employee is selected. If the highest-priority employee is unavailable, the next available employee is used. Added savegame persistence for transport priority. Added deterministic migration of old transport assignments into the new priority system. Added multiplayer synchronization and server-side validation of the complete ordered employee list. Removed the obsolete additional manual transport input-registration path. Removed repeated warnings about failing to register the old transport input action. Removed the previous direct T-based toggle of the currently selected employee. Fixed the transport window so the underlying employee page is no longer drawn through it. Made the transport window fully opaque. Removed the unwanted outer frame around the transport window. Fixed Enter so applying transport changes no longer opens the dismissal confirmation afterward. Moved personnel settings into the dedicated Settings page. Divided settings into clearer groups: Work performance Personnel development Economy and wages Added per-savegame information and multiplayer permission notices. Retained host/server authority over multiplayer settings. Added the editable standard monthly wage. Improved button and numeric-entry handling. Fixed cross-page Enter handling that could trigger actions belonging to another page. Multiplayer and network security Strengthened farm-specific multiplayer synchronization. Added stricter server-side validation for personnel decisions. Personnel actions now fail closed if the client’s actual farm cannot be resolved. The requested farm must match the client connection’s farm. Vehicle ownership must match the authorized farm where applicable. The player must be positively identified as a farm manager. Unknown or ambiguous permission states are no longer treated as authorized. Consolidated farm and farm-manager authorization into the canonical server path. Removed a later authorization wrapper that could obscure which implementation was active. Added upper bounds for all relevant network array counts. Protected farm, employee, applicant, assignment, history and personal-chronicle arrays against maliciously large client-supplied lengths. Added a total network-read budget for a complete synchronized state. Invalid, negative or excessive network counts now discard the state instead of entering a potentially blocking loop. Increased the internal network-state version to 18 for transport-priority data. Retained compatibility reading for older version-17 states. Existing savegames remain usable. Savegame and migration Expanded persistent employee and applicant data with: birthday and age information career background applicant market duration personal chronicle long-term statistics total salary paid retirement state transport priority Applicant markets continue to be stored per farm and are not regenerated simply because the savegame is reloaded. Added migration and fallback handling for older employees without the new history fields. Added deterministic migration for previously assigned transport employees. Preserved existing employee, applicant, assignment, wage and configuration data. Historical values that did not exist in older saves cannot always be reconstructed for employees who had already left the farm. Localization, documentation and assets Expanded localization from 207 to 487 keys per language file. Updated all visible text in all 21 supported language files. Added complete localization for the new menu pages, profiles, chronicles, statistics, transport priorities, salary requests, training offers, confirmations and status messages. Replaced the short former ReadMe with a detailed 21-page multilingual player guide. The guide is available in: German English French Added detailed explanations of player-visible rules and calculations. Added an updated ModHub icon, store asset and overview artwork. Cleaned up GUI textures and replaced problematic assets that caused warnings or visual defects. Code structure and maintenance Replaced the old single-frame GUI structure with separate standalone-menu classes and pages. Consolidated many duplicate method definitions that existed in 1.0.3.0. Centralized network serialization and state handling. Removed obsolete or misleading parallel implementations in the affected areas. Removed several mod-internal wrapper chains and integrated their logic into canonical methods. Separated GUI, business logic, networking, authorization and persistence more clearly. Removed Lua comments from the maintained Lua files in accordance with the project rules. Improved static validation of Lua, XML, file references, localization keys and ZIP structure. Fixed accidental Enter actions across menu pages and dialogs. Fixed Enter in the transport dialog triggering dismissal confirmation. Fixed visual overlap between the transport dialog and the employee page. Removed the unwanted transport-dialog frame. Fixed repeated transport-input registration warnings. Fixed several text-color call issues that could produce Lua errors. Replaced problematic DDS assets and cleaned up texture warnings in the Personnel Management interface. Fixed rank placement and spacing around wage and status lines. Improved scrollbars and clipping on long pages. Improved monthly-report and history readability. Corrected profile grammar, pronouns and career-background phrasing. Removed obsolete applicant-history localization and display code. Added clearer no-data, unavailable and permission messages. Multiplayer is supported and personnel data remains farm-specific. Existing 1.0.3.0 savegames remain usable. Network-state version is 18. AutoDrive and Courseplay are not integrated by this release. FollowMe remains supported through the employee-selection workflow. Changelog 1.0.3.0 Added and stabilized FollowMe integration. FollowMe jobs now open the Personnel Management employee selection. The selected employee is correctly assigned to the FollowMe vehicle. FollowMe job messages now use the name of the assigned employee. FollowMe jobs are shown as active work in the employee menu. Pure FollowMe driving without a trailer or implement now displays a suitable activity, for example “FollowMe with [Name]”. FollowMe jobs with an attached implement try to detect the matching activity, such as tillage, sowing, fertilizing, plant protection, harvesting or transport. Field display in the employee menu has been improved for FollowMe jobs. Non-field-related FollowMe driving is now shown accordingly as not field-related. FollowMe working time now contributes to the assigned employee’s experience. FollowMe jobs now contribute to the matching specialization. Start and stop handling for FollowMe jobs has been made more robust. Internal cleanup after completed FollowMe jobs has been improved. Temporary diagnostic output from the test versions has been removed or disabled. Internal code structure has been cleaned up and clearly redundant duplicate functions have been reduced. ReadMe documentation updated to version 1.0.3.0 Mod version increased to 1.0.3.0 V1.0.1.0 Multiplayer fix: Fixed an issue where hiring workers could fail on dedicated servers. Server-side farm data is now initialized and synchronized more reliably before hire/dismiss actions.