DarkflameUniverse / DarkflameServer

The main repository for the Darkflame Universe Server Emulator project.
https://www.darkflameuniverse.org/
GNU Affero General Public License v3.0
654 stars 173 forks source link

BUG: Can only pickup one item after character creation #1100

Closed adrianreu closed 1 year ago

adrianreu commented 1 year ago

Make sure you've done the following:

DarkflameServer Version

59387e5

Issue Description

I have freshly created the docker environment with the help of https://github.com/DarkflameUniverse/DarkflameServer/blob/main/Docker_Windows.md. I have checked if the client has the right checksum. I have followed the steps in the README to configure the client boot.cfg.

After the character creation I can only pickup one item. Every other item that drops will be picked up but not shown in the inventory. The imagination helmet that you get from Sky Lane will be also not created in the inventory. I can't leave the starting area.

I have checked the configuration several times, restarted the server and installed docker freshly. Nothing helps.

Reproduction Steps

  1. Setup fresh server environment.
  2. Login into the game.
  3. Create a character.
  4. Destroy boxes in nimbus station.
  5. Collect items.

Expected Behavior

All items can be collected and will be shown in inventory.

Environment

Windows 10 Pro 22H2 Docker Desktop 4.19.0 (106363) with WSL2

.env

# Full path to the LEGO Universe client
CLIENT_PATH=D:/Dev/Games/DarkFlameUniverse/Client
# Can improve build time
BUILD_THREADS=4
# Updates NET_VERSION in CMakeVariables.txt
BUILD_VERSION=171022
# make sure this is a long random string
# grab a "SHA 256-bit Key" from here: https://keygen.io/
ACCOUNT_MANAGER_SECRET=c88f740e370a1f7f91902211d001fd290f4b8987887248880c15107f696e846f
# Should be the externally facing IP of your server host
EXTERNAL_IP=localhost
# Database values
# Be careful with special characters here. It is more safe to use normal characters and/or numbers.
MARIADB_USER=darkflame
MARIADB_PASSWORD=Test1234
MARIADB_ROOT_PASSWORD=Test1234
MARIADB_DATABASE=darkflame

boot.cfg

SERVERNAME=0:Overbuild Universe (US),
PATCHSERVERIP=0:127.0.0.1,
AUTHSERVERIP=0:localhost,
PATCHSERVERPORT=1:80,
LOGGING=1:100,
DATACENTERID=5:150,
CPCODE=1:89164,
AKAMAIDLM=7:0,
PATCHSERVERDIR=0:luclient,
UGCUSE3DSERVICES=7:0,
UGCSERVERIP=0:127.0.0.1,
UGCSERVERDIR=0:3dservices,
PASSURL=0:https://account.lego.com/en-us/SendPassword.aspx?Username=,
SIGNINURL=0:https://account.lego.com/en-us/SignIn.aspx?ReturnUrl=http://universe.lego.com/en-us/myaccount/default.aspx,
SIGNUPURL=0:http://universe.lego.com/en-us/myaccount/registration/default.aspx,
REGISTERURL=0:https://secure.universe.lego.com/en-us/myaccount/subscription/embeddedlandingpage.aspx?username=,
CRASHLOGURL=0:http://services.lego.com/cls.aspx,
LOCALE=0:en_US,
TRACK_DSK_USAGE=7:1

logs from DarkflameServer Container after having the issue

[24-05-23 17:45:00] [MasterServer] Starting Master server...
[24-05-23 17:45:00] [MasterServer] Version: 1.0
[24-05-23 17:45:00] [MasterServer] Compiled on: Tue May 23 18:59:54 2023
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/0_initial.sql
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/1_unique_charinfo_names.sql
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/2_reporter_id.sql
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/3_add_performance_cost.sql
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/4_friends_list_objectids.sql
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/5_brick_model_sd0.sql
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/6_property_behaviors.sql
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/7_make_play_key_id_nullable.sql
[24-05-23 17:45:00] [MigrationRunner] Running migration: dlu/8_foreign_play_key.sql
[24-05-23 17:45:00] [MigrationRunner] Encountered error running migration: (conn=3) Duplicate column name 'reporter_id'
[24-05-23 17:45:00] [MigrationRunner] Encountered error running migration: (conn=3) Duplicate column name 'performance_cost'
[24-05-23 17:45:00] [MigrationRunner] Encountered error running migration: (conn=3) Duplicate column name 'model_name'
[24-05-23 17:45:00] [MasterServer] 0 models were updated from zlib to sd0.
[24-05-23 17:45:00] [MasterServer] 0 models were truncated from the database.
[24-05-23 17:45:00] [MasterServer] /app/resServer/CDServer.sqlite could not be found in resServer or res. Looking for /client/res/cdclient.fdb to convert to sqlite.
[24-05-23 17:45:00] [MasterServer] Found /client/res/cdclient.fdb.  Converting to SQLite
[24-05-23 17:45:03] [MigrationRunner] Executing migration: cdserver/0_nt_footrace.sql.  This may take a while.  Do not shut down server.
[24-05-23 17:45:03] [MigrationRunner] Executing migration: cdserver/1_fix_overbuild_mission.sql.  This may take a while.  Do not shut down server.
[24-05-23 17:45:03] [MigrationRunner] Executing migration: cdserver/2_script_component.sql.  This may take a while.  Do not shut down server.
[24-05-23 17:45:03] [MigrationRunner] Executing migration: cdserver/3_plunger_gun_fix.sql.  This may take a while.  Do not shut down server.
[24-05-23 17:45:03] [MigrationRunner] Executing migration: cdserver/4_nt_footrace_parrot.sql.  This may take a while.  Do not shut down server.
[24-05-23 17:45:03] [MigrationRunner] Executing migration: cdserver/5_serratorizer_chargeup_fix.sql.  This may take a while.  Do not shut down server.
[24-05-23 17:45:03] [MigrationRunner] Executing migration: cdserver/6_ninja_sensei.sql.  This may take a while.  Do not shut down server.
[24-05-23 17:45:03] [MigrationRunner] CDServer database is up to date.
[24-05-23 17:45:04] [dServer] Server is listening on localhost:2000 with encryption: 0
[24-05-23 17:45:04] [InstanceManager] Searching for an instance for mapID 0/0
[24-05-23 17:45:04] [InstanceManager] Created new instance: 0/0/0 with min/max 999/999
[24-05-23 17:45:04] [InstanceManager] Searching for an instance for mapID 1000/0
[24-05-23 17:45:04] [InstanceManager] Created new instance: 1000/1/0 with min/max 10/15
[24-05-23 17:45:04] [MasterServer] Received server info, instance: 0 port: 2005
[24-05-23 17:45:04] [MasterServer] Received server info, instance: 0 port: 1001
[24-05-23 17:45:06] [MasterServer] Received server info, instance: 0 port: 3000
[24-05-23 17:45:06] [MasterServer] Received server info, instance: 1 port: 3003
[24-05-23 17:45:09] [MasterServer] Got world ready 1000 1
[24-05-23 17:45:09] [MasterServer] Ready zone 1000
[24-05-23 17:45:09] [MasterServer] Got world ready 0 0
[24-05-23 17:45:09] [MasterServer] Ready zone 0
[24-05-23 17:48:34] [MasterServer] Received zone transfer req
[24-05-23 17:48:34] [InstanceManager] Searching for an instance for mapID 0/0
[24-05-23 17:48:34] [MasterServer] Instance: 0/0/0 -> 1
[24-05-23 17:48:34] [MasterServer] Instance: 1000/0/1 -> 0
[24-05-23 17:48:34] [MasterServer] Responding to transfer request 1 for zone 0 0
[24-05-23 17:48:[24-05-23 17:45:04] [WorldServer] Starting World server...
[24-05-23 17:45:04] [WorldServer] Version: 1.0
[24-05-23 17:45:04] [WorldServer] Compiled on: Tue May 23 18:59:54 2023
[24-05-23 17:45:06] [dServer] Server is listening on darkflame:3003 with encryption: 1, running zone 1000 / 1
[24-05-23 17:45:06] [dNavMesh] Navmesh loading failed (This may be intended).
[24-05-23 17:45:06] [dpWorld] Physics world initialized!
[24-05-23 17:45:06] [dZoneManager] Preparing zone: 1000/1/0
[24-05-23 17:45:06] [dZoneManager] Creating zone control object 2365
[24-05-23 17:45:06] [dZoneManager] Loading WorldConfig into memory
[24-05-23 17:45:06] [dZoneManager] Loaded WorldConfig into memory
[24-05-23 17:45:06] [dZoneManager] Zone prepared in: 49 ms
[24-05-23 17:45:06] [dServer] Established connection to master, zone (1000), instance (1)
[24-05-23 17:45:06] [WorldServer] Established connection to chat, zone(1000), instance (1)
[24-05-23 17:45:09] [WorldServer] Finished loading world with zone (1000), ready up!
[24-05-23 17:48:49] [MasterServer] Got affirmation request of transfer 1
[24-05-23 17:48:49] [AuthPackets] Received client version: 171022
[24-05-23 17:48:49] [WorldServer] User Test1234 authenticated with correct key.
[24-05-23 17:48:49] [Character] Loaded xmlData for character CharredWaywardPoobah (2)!
[24-05-23 17:48:49] [User] Loaded 2 as it is the last used char
[24-05-23 17:48:55] [WorldServer] Received level load complete from user.
[24-05-23 17:48:55] [ControllablePhysicsComponent] Using patch to load minifig physics
[24-05-23 17:48:55] [WorldPackets] Sent CreateCharacter for ID: 1152921508901814274
[24-05-23 17:48:55] [CharacterComponent] Unable to find rocket to equip!
[24-05-23 17:48:55] [WorldServer] Updating Character Flags
[24-05-23 17:48:55] [WorldServer] Updating Vault Size
[24-05-23 17:48:55] [WorldServer] Updaing Speedbase
[24-05-23 17:49:08] [GameMessageHandler] Player CharredWaywardPoobah (1152921508901814274) loaded.
[24-05-23 17:49:41] [GameMessages] Unable to get mission 1727 for entity 1152921508901814274 to update reward in RespondToMission
[24-05-23 17:49:56] [Behavior] Failed to load behavior with id (0)!
[24-05-23 17:50:17] [GameMessages] Unable to get mission 173 for entity 1152921508901814274 to update reward in RespondToMission
[24-05-23 17:51:06] [GameMessages] Unable to get mission 660 for entity 1152921508901814274 to update reward in RespondToMission
[24-05-23 17:51:42] [GameMessages] Unable to get mission 1896 for entity 1152921508901814274 to update reward in RespondToMission
[24-05-23 17:51:50] [GameMessages] Unable to get mission 308 for entity 1152921508901814274 to update reward in RespondToMission
[24-05-23 17:51:53] [Inventory] Attempting to add an item with an already present id (1152921509120501137)!
[24-05-23 17:52:44] [Inventory] Attempting to add an item with an already present id (1152921509120501137)!
[24-05-23 17:55:00] [TotalTimePlayed] Time since last save: 365
[24-05-23 17:55:00] [Character] 2:CharredWaywardPoobah Saved character to Database in: 0.005294s
[24-05-23 17:58:12] [Inventory] Attempting to add an item with an already present id (1152921509120501137)!
[24-05-23 17:58:24] [TotalTimePlayed] Time since last save: 204
[24-05-23 17:58:24] [Character] 2:CharredWaywardPoobah Saved character to Database in: 0.004272s
[24-05-23 17:58:24] [Character] Loaded xmlData for character CharredWaywardPoobah (2)!
[24-05-23 17:58:24] [Player] Deleted player
[24-05-23 17:58:24] [GameMessageHandler] Failed to find associated entity (288230376151712756), aborting GM (1D7)!
[24-05-23 17:58:24] [GameMessageHandler] Failed to find associated entity (288230376151712756), aborting GM (1D7)!
[24-05-23 17:58:24] [GameMessageHandler] Failed to find associated entity (288230376151712756), aborting GM (1D7)!
[24-05-23 17:58:24] [GameMessageHandler] Failed to find associated entity (288230376151712756), aborting GM (1D7)!
[24-05-23 17:58:24] [GameMessageHandler] Failed to find associated entity (288230376151712756), aborting GM (1D7)!
EmosewaMC commented 1 year ago

Unable to reproduce in a Docker environment on Windows. Please provide further setup details

EmosewaMC commented 1 year ago

Please also attach all logs in the build/logs directory.

adrianreu commented 1 year ago

Where do I find the build/logs directory?

EmosewaMC commented 1 year ago

The logs directory will be in your docker container

On Wed, May 24, 2023, 10:57 AM Adrian @.***> wrote:

Where do I find the build/logs directory?

— Reply to this email directly, view it on GitHub https://github.com/DarkflameUniverse/DarkflameServer/issues/1100#issuecomment-1561703011, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJQ67BMSA7FHAKQZVU2HGODXHZD2LANCNFSM6AAAAAAYML5QCM . You are receiving this because you commented.Message ID: @.***>

adrianreu commented 1 year ago

I looked into the darkflameserver container there is a folder called /build but no logs. I found a dir called /app/logs. I added the files. logs.zip

adrianreu commented 1 year ago

I have also tried to add items via gm commands. It seems like i can get one item from each category (Items, Models, Bricks, Behaviors). And after adding one item the server always tells me "Attempting to add an item with an already present id". Do I have a wrong client?

EmosewaMC commented 1 year ago

hm this is very strange. For whatever reason your machines rng is just not rolling at all. I need some more time to investigate this - for now can you try using the non-docker setup for windows and see if the same issues arise?

EmosewaMC commented 1 year ago

I've made a branch called TestRng with some rng logic changes - can you switch to that branch, re-build the server and then run around avant gardens for a bit picking up items and then send me the logs? I have a coin flip in there now to decide to use the old rng or the new one so I can see some A/B testing

adrianreu commented 1 year ago

I've made a branch called TestRng with some rng logic changes - can you switch to that branch, re-build the server and then run around avant gardens for a bit picking up items and then send me the logs? I have a coin flip in there now to decide to use the old rng or the new one so I can see some A/B testing

I will do that.

adrianreu commented 1 year ago

These are the results: logs.zip Seems to be the problem.

EmosewaMC commented 1 year ago

This is fascinating. This code has been working fine for over 2 years and just now decides to use the same seed every time... wonder what changed on gcc's end with compilation specifically on your system. Thanks for the report - a fix will be in soon!

adrianreu commented 1 year ago

Interesting. Good to know that you found the issue. Thank you for your fast reply and help.

You are doing a great job. Keep up the good work 👍

If you need a tester for this issue or if I can support just let me know

EmosewaMC commented 1 year ago

Ive pushed some changes to that branch to simplify the logic - could you check that you are able to pick up items properly?

adrianreu commented 1 year ago

I tested it and got no problems anymore. Thanks man.

EmosewaMC commented 1 year ago

Great! Fix will be in main when #1103 is merged