Houmgaor
be4cd2001c
test: import 38 channelserver test files from v9.2.x-stable
...
Port test files from v9.2.x-stable branch to increase channelserver
coverage from 13.8% to 25.6% (556 tests passing).
Adapted all files to main's struct definitions: config import alias,
Airou/CatDefinition rename, packet field mismatches, Raviente struct
differences, and maxPlayers defaults. Removed tests referencing
production code not yet on main (Player, FestivalColour, etc.).
Excluded handlers_register_test.go (Raviente completely redesigned).
2026-02-16 22:19:44 +01:00
Houmgaor
b1c8b2848f
security: fix CodeQL warnings for integer overflow and workflow permissions
...
- handlers_tower.go: add bounds checks before int-to-int16 and int-to-uint16
conversions to prevent overflow/wraparound (CodeQL #7 , #8 )
- go-improved.yml, go.yml: add top-level `permissions: contents: read` to
restrict workflow token scope (CodeQL #15 , #16 , #17 )
2026-02-16 19:14:14 +01:00
Houmgaor
5e0d578670
security: bump golang.org/x/crypto to v0.48.0
...
Fixes two moderate GitHub security alerts:
- CVE: ssh allows unbounded memory consumption via GSSAPI OIDs
- CVE: ssh/agent panic on malformed constraint (out of bounds read)
Also bumps transitive deps: x/net v0.49.0, x/sys v0.41.0, x/text v0.34.0.
2026-02-16 19:10:18 +01:00
Houmgaor
10e09630a6
fix: send failure ack for missing quest/scenario files instead of crashing client
...
When a quest or scenario file was missing, handleMsgSysGetFile sent nil
data via doAckBufSucceed, which crashed the game client. Now sends
doAckBufFail so the client can handle the missing file gracefully.
Closes #109
2026-02-16 18:35:44 +01:00
Houmgaor
a7b0deaa42
fix: resolve data race in token.RNG global
...
Wrap *rand.Rand in a mutex-protected SafeRand type to make the global
RNG safe for concurrent use across goroutines. The previous bare
*rand.Rand caused data races detected by go test -race.
2026-02-16 18:19:18 +01:00
Houmgaor
9b69564c49
fix: prevent server crash on unsupported Shift-JIS characters ( #116 )
...
UTF8ToSJIS panicked when encountering characters outside the Shift-JIS
range (emoji, Lenny faces, cuneiform, etc.), crashing the server when
such characters were sent via the Discord relay channel.
Replace the panic with graceful filtering that drops unmappable runes
and preserves valid content. Also fix ToNGWord index-out-of-range panic
on empty encoder output.
Closes #116
2026-02-16 18:16:42 +01:00
Houmgaor
7689bc2ee9
Merge remote-tracking branch 'upstream/main'
2026-02-16 12:31:57 +01:00
Houmgaor
4028de27ce
Merge pull request #153 from Mezeporta/doc/update-readme
...
doc: rewrite README, add CONTRIBUTING.md and SECURITY.md
2026-02-16 12:27:19 +01:00
Houmgaor
33d42362c0
doc: rewrite README, add CONTRIBUTING.md and SECURITY.md
...
Rewrite README with comprehensive documentation covering architecture,
configuration, features, troubleshooting, and development. Update all
links to Mezeporta/Erupe. Add contributing guidelines and security
policy (supported: main, stable/v9.2.x).
2026-02-16 12:25:13 +01:00
Houmgaor
9c0a65069d
doc: update README for upstream transition
...
Remove fork language and point all links to Mezeporta/Erupe.
Update stable branch reference to stable/v9.2.x.
2026-02-16 12:20:44 +01:00
Houmgaor
9761f84e05
chore: add logs, binaries, and env to .gitignore
2026-02-16 11:32:47 +01:00
Houmgaor
7dfc3e6049
Merge upstream/main into main
...
Resolve conflict in handlers_stage.go: keep lock-free packet
building pattern (copy session list, release lock, then build)
over upstream's in-lock QueueSendMHF approach.
Fix test compilation: remove objectIDs field references after
upstream removed it from Server struct.
Resync vendor directory with updated go.mod dependencies.
2026-02-16 11:31:42 +01:00
wish
e9bd0b2ddb
Merge pull request #151 from Mezeporta/test/aobp
v9.3.0-beta
2025-12-17 09:27:56 +11:00
Houmgaor
cb2eeb6ae4
Merge remote-tracking branch 'upstream/main'
...
# Conflicts:
# docker/README.md
2025-11-09 18:11:18 +01:00
Houmgaor
2b94eb196d
doc: completes history.
2025-11-09 17:02:18 +01:00
Houmgaor
e31a37e0f9
chore: upgrading minimal Go from 1.23 to 1.25.
2025-11-09 16:51:02 +01:00
Houmgaor
68b9cf48d1
doc: expamding documentation.
2025-11-09 16:47:18 +01:00
Houmgaor
42fa7a34b6
Major fixes: testing, db, warehouse, etc...
...
See the changelog for details.
2025-11-09 11:59:04 +01:00
Houmgaor
0fac429fac
fix(transmog): fix transmog issues.
...
Untested commit.
2025-11-09 11:57:28 +01:00
Houmgaor
36065ce273
fix(plate data): was not save, nor transmog data.
2025-11-01 18:14:30 +01:00
Houmgaor
3da54fade8
chore: adds remaining logging for Hunter Navi and Plate data.
2025-11-01 17:14:05 +01:00
Houmgaor
afc554f1ec
fix(save): avoid double-save.
...
feat(logging): more complete logging data.
2025-11-01 00:37:59 +01:00
Houmgaor
18592c5ded
fix(handlers): trying to fix issues with incomplete saves.
2025-10-31 13:10:17 +01:00
Houmgaor
2d3edcfd10
test: session lifecycle tests to reveal issues with sessions configuration.
2025-10-31 12:59:32 +01:00
wish
5f265ee291
Merge pull request #144 from gab3-dev/patch-1
...
Fix typos in Docker README
2025-10-29 00:00:32 +11:00
Gabriel Henrique
2a297e693f
Fix typos in Docker README
...
"soruce" to "source"
2025-10-28 09:33:52 -03:00
Houmgaor
a6cf550fdb
tests(common): comprehensive code coverage for common
2025-10-27 12:59:22 +01:00
Houmgaor
d3fd0c72b0
tests: extra tests for Dicord bit and nullcomp.
2025-10-27 12:33:33 +01:00
Houmgaor
127d3af167
tests(network): adds tests for network features (except mhfpacket).
2025-10-27 12:18:41 +01:00
Houmgaor
25d218fbcd
tests(integration): more complete tests with integration of a test database,
2025-10-27 11:58:12 +01:00
Houmgaor
e1a461e892
fix(stage): fix deadlock that was preventing stage change.
2025-10-27 01:13:43 +01:00
Houmgaor
5e0c5ea75b
test(config): comprehensive testing of config.go
2025-10-21 01:12:58 +02:00
Houmgaor
5aa17a749f
test(api): comprehensive test suite for server/api.
2025-10-21 01:09:37 +02:00
Houmgaor
73e874f43f
fix: array bound crashes on clans.
2025-10-21 00:21:50 +02:00
Houmgaor
060635e422
fix(stage): fix race condition with stages.
2025-10-21 00:00:08 +02:00
Houmgaor
1c32be98cc
fix(session): race condition.
2025-10-19 23:49:23 +02:00
Houmgaor
4908731773
fix(ci): remove linting, fix not passing test.
2025-10-19 23:39:23 +02:00
Houmgaor
c55f23442b
fix(lint): fixing go static check failing.
2025-10-19 22:52:58 +02:00
Houmgaor
fc6e479df9
fix(lint): fixing more complex formatters problems.
2025-10-19 22:46:21 +02:00
Houmgaor
1398383a8d
fix(lint): automated linting, with simple formatter.
2025-10-19 22:43:05 +02:00
Houmgaor
f79e05c0c9
feat(go): upgrade from go 1.21 to 1.23
...
BREAKING CHANGE: will not work properly with Go 1.21.
2025-10-19 22:24:48 +02:00
Houmgaor
cde7995132
feat(ci): trying a new CI pipeline.
2025-10-19 22:00:14 +02:00
Houmgaor
3cb77bd669
tests: more tests for the guild system.
2025-10-19 21:52:14 +02:00
Houmgaor
506ff2dc66
test(quest): adds test cases for quest handler.
2025-10-19 21:28:07 +02:00
Houmgaor
0e7bc553d7
test: fix issues in tests with cryptography
2025-10-19 21:18:55 +02:00
Houmgaor
8a92a7957e
fix(crashes): trying to investigate the causes of crash.
...
New unit tests to that end.
2025-10-19 19:02:29 +02:00
Houmgaor
02d5195611
docs: starting to expand the documentation.
2025-10-19 18:57:10 +02:00
Houmgaor
5298ae72f9
fix: better handling of config.
2025-10-19 17:59:49 +02:00
Houmgaor
90c8a50316
fix(main): wrong configuration in last commit.
2025-10-18 19:24:24 +02:00
Houmgaor
f410cbd48b
chore: minor files update.
2025-10-18 18:57:16 +02:00