azerothcore / azerothcore-wotlk

Complete Open Source and Modular solution for MMO
http://www.azerothcore.org
GNU Affero General Public License v3.0
6.39k stars 2.55k forks source link

(Core) Inability to use extended Cyrillic #17327

Open al99vin opened 11 months ago

al99vin commented 11 months ago

Current Behaviour

The issue is shown here. If I as a player try to use extended Cyrillic symbols in name (char or guild), i catch an error. I can use only russian Cyrillic symbols, but not from other languages.

Expected Blizzlike Behaviour

I may use extended Cyrillic symbols when I try to create my character or guild. Here is an example where we can see using Cyrillic "і" in the guild name.

Source

I found only one guild with non-russian Cyrillic symbol. But if its posiible - itll be great.

Steps to reproduce the problem

1.Create new character 2.Name him with using ą, ć, ę, ł, ń, ó, ś, ź, ż OR і, ї, є. 3.Catch an error.

Extra Notes

No response

AC rev. hash/commit

AzerothCore rev. 76d1d02dce2f+ 2023-09-06 18:33:34 +0200 (master branch) (Unix, RelWithDebInfo, Static) Connected players: 162. Characters in world: 146. Connection peak: 238. Server uptime: 6 day(s) 2 hour(s) 32 minute(s) 6 second(s) Update time diff: 4ms, average: 10ms. Using SSL version: OpenSSL 3.0.2 15 Mar 2022 (library: OpenSSL 3.0.2 15 Mar 2022) Using Boost version: 1.74.0 Using CMake version: 3.22.1 Using MySQL version: 80034 Found MySQL Executable: /usr/bin/mysql Compiled on: Linux 5.15.0-83-generic Worldserver listening connections on port 8085 Realmlist (Realm Id: 1) configured in port 8085 VMAPs status: Enabled. LineOfSight: 1, getHeight: 1, indoorCheck: 1 MMAPs status: Enabled maps directory located in /root/azerothcore/data/maps. Total size: 291014951 bytes vmaps directory located in /root/azerothcore/data/vmaps. Total size: 658130721 bytes mmaps directory located in /root/azerothcore/data/mmaps. Total size: 2192910844 bytes Default DBC locale: enUS. All available DBC locales: enUS esES Using World DB: ACDB 335.10-dev Latest LoginDatabase update: 2023_04_24_00.sql Latest CharacterDatabase update: trasmorg.sql Latest WorldDatabase update: trasm_world_texts.sql LoginDatabase queue size: 0 CharacterDatabase queue size: 0 WorldDatabase queue size: 0

List enable modules:

  • mod-cfbg
  • mod-congrats-on-level
  • mod-duel-reset
  • mod-globalchat
  • mod-transmog

Operating system

Ubuntu 22.04.3 LTS

Custom changes or Modules

Kitzunu commented 11 months ago

could potentially be a client issue

al99vin commented 11 months ago

What have I try is modifying \src\common\Utilities\Util.h with edding some codes from https://en.wikipedia.org/wiki/Cyrillic_script_in_Unicode and same but with expanding. For test even deleting some of them. Doesn`t worl

chaosua commented 3 months ago

client side hardcoded check in wow.exe :( if you are pro reverse engineer, you could try to find function that returns CHAR_NAME_INVALID_CHARACTER message (this string is in GlueXML\GluesStrings.lua) and try to reroute (patch exe) it to function that accepts input name someone found in exe this string .rdata:00A2FEB8 aCharNameInvali_1 db 'CHAR_NAME_INVALID_CHARACTER',0