Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
C++11 was a really long time ago, huh?
|
|
|
|
|
|
In serverdata@c3b7fe59a, `magic-knuckles` made use of temporary copies of the
spell NPC via `puppet`/`destroy` to provide additional functionality. This
implementation was correct with respect to tmwa behaviour as documented.
However, `puppet` and `destroy` doesn't quite return the server to a clean
prior state. In `builtin_puppet`, events with the fresh new copy of NPC are
registered into the global `ev_db` map to track named events, such as
`OnDischarge`, which might be triggered later. However, these registrations
are not reversed with `destroy`, leaving `ev_db` to retain references to now
invalid and destroyed NPCs.
serverdata@c3b7fe59a revealed this oversight through an intersection of rare
conditions:
- An NPC that is routinely cloned and destroyed
- Having a variety of events
- Including one that can be triggered during a search for the event over ALL
NPCs when `#discharge` is cast.
To reproduce, compile with `-fsanitize=address -fsanitize=undefined` to more
reliably catch use of invalid memory, cast `magic-knuckles`, log out the
character which cast `magic-knuckles` to destroy the NPC, log back in, then
cast `#discharge`. The server will then crash.
Special thanks to SystemError for testing out this theory. Currently lacking
a test environment of my own, this would not have been possible without his
patience and diligence.
|
|
Blame Ledmitz (:
|
|
|
|
Preserve @exprate as a shortcut for both & because scripts in serverdata call it
|
|
|
|
+Pass artifacts (well, the whole repo) to test stage
+YAML syntax error. Since I saw a glimpse of the repo being reinitialised
two tries ago, perhaps it saves everything tracked and just adding
untracked files should be enough.
|
|
Function "_Z13do_breakpointIN4tmwa3map11script_dataEEvRKT_PKc" not defined in "/builds/specing/tmwa/src/debug-debug/map-script-persist.cpp".
Breakpoint 1
(/builds/specing/tmwa/src/debug-debug/map-script-persist.cpp:'_Z13do_breakpointIN4tmwa3map11script_dataEEvRKT_PKc') pending.
void do_breakpoint<tmwa::map::script_data>(tmwa::map::script_data const&, char const*);
Thanks to ssbssa@#gdb for pointing this out.
|
|
It's no longer maintained by o11c since many years now, so an update was
long due.
Also updated some outdated links.
Finally, who can say for sure that The Mana World will never run on
Manaserv?
|
|
requires C++14.
|
|
Note how gcc uses /usr/include/gtest (default search path) as the -I for GTEST_DIR is not on the gcc command line:
System-wide gtest is 1.14 and requires C++14 while provided one is 1.8.1.
GTEST_DIR="$PWD/deps/googletest/googletest" ./configure --user
make[1]: Leaving directory '/data/users/tmwa/proj/tmw/classic/tmwa'
find: ‘doc-gen/’: No such file or directory
g++ -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g
-fstack-protector -fno-strict-aliasing -fvisibility=hidden
-fvisibility=hidden -MG -MM \
-MT 'ast/item_test := ' \
-MF obj/ast/item_test.d src/ast/item_test.cpp
In file included from /usr/include/gtest/gtest-message.h:57,
from /usr/include/gtest/gtest-assertion-result.h:46,
from /usr/include/gtest/gtest.h:64,
from src/ast/item_test.cpp:21:
/usr/include/gtest/internal/gtest-port.h:270:2: error: #error C++
versions less than C++14 are not supported.
270 | #error C++ versions less than C++14 are not supported.
| ^~~~~
Makefile:331: obj/ast/item_test.d: No such file or directory
|
|
* Removed the <details> tag used to hide the main contents.
* Removed deprecation notice, since we're still running this server
and will need to maintain it until it has been replaced.
* Deleted the section about tmwa-monitor, since the tool is not just
deprecated but actually was deleted in
53a91a3fbf0929a99abcdfea23126f978c3ce71a.
This partly reverts da50c517000391c83305ff704e3059c900f28d5b.
|
|
See "Item Mode" commit from Apr 3 2023
|
|
Enable GitLab CI
See merge request legacy/tmwa!259
|
|
tools/protocol.py: Added generation of client code
See merge request legacy/tmwa!258
|
|
This helps with keeping the protocol in the Mana client up to date.
****
|
|
+Add meway's Ubuntu
+Add python -> python2 symlink
+Separate python/python2 into INSTALL_PACKAGES
|
|
Fix bug whereby stat updates were not sent to client after equipping +1 stat...
See merge request legacy/tmwa!257
|
|
pt item when base stat is 1.
What is funnier is that it sent updates for all other 5 (unchanged
stats). Example, amethyst ring +1 dex:
Sending update for stat 0: saved: 0+1, new: 0+0 (str?)
Sending update for stat 1: saved: 0+1, new: 0+0 (agi?)
Sending update for stat 2: saved: 0+1, new: 0+0 (vit?)
Sending update for stat 3: saved: 0+1, new: 0+0 (int?)
Sending update for stat 5: saved: 0+1, new: 0+0 (luk?)
|
|
|
|
activity checks and status cleanup
See merge request legacy/tmwa!252
|
|
|
|
Update ProprietaryHub link. git:// was likely waiting indefinetely for user to login.
See merge request legacy/tmwa!253
|
|
to login.
|
|
SC_MATKPOT
See merge request legacy/tmwa!251
|
|
|
|
Revert magic attack delay to original behaviour
See merge request legacy/tmwa!250
|
|
|
|
weapon base attack delay standardization
See merge request legacy/tmwa!249
|
|
|
|
Backport Maxlvl
See merge request legacy/tmwa!248
|
|
|
|
SC_COOLDOWN_UPMARMU
See merge request legacy/tmwa!247
|
|
|
|
Item mode
See merge request legacy/tmwa!246
|
|
|
|
bAllStats, bAgiVit, bAgiDexStr, bDeadlyStrikeRate, bDeadlyStrikeAddRate
See merge request legacy/tmwa!245
|
|
|
|
bSpeedCap
See merge request legacy/tmwa!244
|
|
|
|
|
|
|
|
|
|
mobs critical_def + 10 drops + storage 500
See merge request legacy/tmwa!242
|
|
|
|
Hello=). Someone said its up to GMs to deal with users exploiting their servers.
See merge request legacy/tmwa!241
|
|
|