Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Case-sensitive filesystems struggle with the map repack.

Đang mở
#2 6 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
csharp, python
Lĩnh vực
tooling

Hướng nghiên cứu

Start with the linked BSPParser/BSP.cs implementation and trace the scmapdb archive repacking entry point that handles BSP assets. Compare its casing assumptions with the reported Linux failure, then verify the mega map repack no longer leaves case-sensitivity issues or infinite-loading assets.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Sven coop only partially supports case-sensitive filesystems, making BSPs and assets with arbitrary incorrect filecasings cause infinite loading for some clients on linux servers (stuck at precaching).

I wrote my own hacky solution for it here.

It essentially does a full BSP parse like resguy, using the casing within the BSP as the "true" casing of the assets involved.
Then, if the file is missing on the current filesystem, it'll scan for it assuming that the casing is wrong.

Running it on the mega map repack finds a large number of case sensitivity issues and fixes them:

image-1

There's limitations to my hack though.

  • Ironically my BSP parser is dependent on a case-sensitive filesystem in order to work correctly.
  • BSPParser isn't as good as resguy either. It ignores wads, and includes all replacement sounds/models by assumption.
  • I ignore level change entities. These theoretically would include the "correct casing" for bsp files. Just in case a user renamed them. Though I ignored this in my solution.

Not sure if you care to fix it, but it'd be another step in making the archives more "correct".

Ngôn ngữ chính
Python
Star
3
Fork
0
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.