Forum

> > CS2D > General > 64 Bit Linux Client & Dedicated Server
Forums overviewCS2D overviewGeneral overviewLog in to reply

English 64 Bit Linux Client & Dedicated Server

10 replies
To the start Previous 1 Next To the start

old 64 Bit Linux Client & Dedicated Server

DC OP
Admin Off Offline

Quote
As a side effect of the BlitzMax NG transition (see thread cs2d Experimental Controller Support) we can now have 64 bit builds on Linux and Steam support for the Linux client.

If anyone feels like giving it a try, here is the latest build. Should be fully compatible with the current live version.
• Download https://stuff.unrealsoftware.de/cs2d_linux_64.zip
• Extract all files into your CS2D folder
• Run either CS2D64 (client) or cs2d_dedicated64 (dedicated server, headless)

I only tested this on Ubuntu 22.04.2 (running in a VM) so far. Unfortunately I wasn't able to successfully test controller support on Linux through the VM.

There is also an arm64 build but it looks like that it doesn't work as expected
edited 2×, last 07.07.26 04:26:24 pm

old Re: 64 Bit Linux Client & Dedicated Server

mrc
User Off Offline

Quote
user slimK has written
And what about 64bit for windows? Is gonna come out too?

The only real advantage will be unlimited RAM usage, modernity, and stability. The game will remain single-threaded (as far as I know). But either way, it's an upgrade.

old Re: 64 Bit Linux Client & Dedicated Server

Hajt
User Off Offline

Quote
Tested CS2D Dedicated Server Lua 5.1 workload on 64-bit vs 32-bit:

64-bit:
10000 ticks
10000 entities
3.73s

32-bit:
10000 ticks
10000 entities
5.99s

64-bit build was about 37% faster in this test:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
local entities = {}

for i = 1,10000 do
    entities[i] = {
        x = math.random(),
        y = math.random(),
        hp = 100,
        name = "player"
    }
end


local start = os.clock()

for tick = 1,10000 do

    for i=1,#entities do
        local e = entities[i]

        e.x = e.x + 1
        e.y = e.y + 1

        if e.hp <= 0 then
            e.hp = 100
        end
    end

ew nd

print("ticks:",10000)
print("entities:",#entities)
print("time:",os.clock()-start)


BTW could you add a cs2d lua hook bought hook? It would save a lot of extra calls in moneyscript for example

old Re: 64 Bit Linux Client & Dedicated Server

mrc
User Off Offline

Quote
@user Hajt:

Tested the same CS2D Dedicated Server Lua 5.1 workload on ARM64 with and without LuaJIT:

ARM64 (default):
10000 ticks
10000 entities
8.972750s

ARM64 + LuaJIT (preloaded):
10000 ticks
10000 entities
0.522407s

LuaJIT was about 17.2× faster in this test (~94% less execution time).
edited 3×, last 11.07.26 04:33:43 am

old Re: 64 Bit Linux Client & Dedicated Server

MikuAuahDark
User Off Offline

Quote
Are there plans to use LuaJIT with 64-bit builds, at least on dedicated servers? So far people doesn't report any catasthropic error/crashes with my LuaJIT integration (and that was by hooking which is kinda frowned upon).

old Re: 64 Bit Linux Client & Dedicated Server

mrc
User Off Offline

Quote
Yes, I'll share it soon. It's been running for days without any issues on the ARM64, working flawlessly. And the best part is that it will survive new versions without needing an update, as long as DC doesn't change the Lua engine. Tested on Ubuntu 22.04 and 24.04.
To the start Previous 1 Next To the start
Log in to replyGeneral overviewCS2D overviewForums overview