This file is indexed.

/usr/share/games/netpanzer/scripts/usercommands.lua is in netpanzer-data 0.8.4.debian.1-1.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
UserCommands =
{
    say_help = "Says something to all players",
    say = function(param)
        if param then
            netpanzer.say(param);
        end
    end,

    teamsay_help = "Says something to team players",
    teamsay = function(param)
        if param then
            netpanzer.teamsay(param);
        end
    end,

    server_help = "Sends the command to the server";
    server = function(param)
        if param then
            netpanzer.say('/' .. param);
        end
    end,

    listcommands_help = "List all the commands";
    listcommands = function(param)
        local out;
        for k,v in pairs(UserCommands) do
            if type(v) == "function" then
                if out then
                    out = out .. ", " .. k;
                else
                    out = k;
                end
            end
        end
        netpanzer.scriptmessage(out);
    end,

    _help = "Type /help <wanted_command> or /listcommands",
    help_help = "Provides this kind of help",
    help = function(param)
        local ht = UserCommands[param .. "_help"];
        if ht then
            netpanzer.scriptmessage(param .. ": " .. ht);
        else
            netpanzer.scriptmessage("Help not found for " .. param .. ". Use /listcommands");
        end
    end,

    quit_help = "Quits NetPanzer.",
    quit = function(param)
       netpanzer.quit();
    end,

    -- doesn't work as expected, needs checking.
    --disconnect_help = "Disconnects from current server.",
    --disconnect = function(param)
    --    GameManager:quitNetPanzerGame();
    --end,

    test = function(param)
        netpanzer.scriptmessage("the thing is: " .. config.game.unit_profiles);
    end,
    
    countdown_help = "Do a countdown.",
    countdown = function(param)
        if game.hasTask('countdown') then
            netpanzer.scriptmessage("There is already a countdown running");
            return;
        end
        local counttime, message = string.match(param, "(%d+) *(.*)");

        counttime = tonumber(counttime) or 5;
        if counttime > 20 then
            netpanzer.scriptmessage("Time is too big");
            return;
        end

        message = (message and message:find("%S") and message) or "Countdown...";
        local count = 0;
        netpanzer.say(message .. " " .. counttime);

        game.addTask('countdown', function()
            count = count + game.frametime;
            if count > 1.0 then
                count = count - 1.0;
                counttime = counttime - 1;
                if counttime == 0 then
                    netpanzer.say(message .. " FIGHT!!!!");
                else
                    netpanzer.say(message .. " " .. counttime);
                end
            end
            return counttime == 0;
        end);
    end

};