Differences From Artifact [3e3cb4cc55]:
- File src/serverms.m — part of check-in [cc7ebd7f79] at 2025-03-26 21:47:31 on branch trunk — Run newer version of clang-format (user: js, size: 4620) [annotate] [blame] [check-ins using]
To Artifact [86b7b53d7e]:
- File
src/serverms.m
— part of check-in
[75e920ae30]
at
2025-03-29 14:25:43
on branch trunk
— Switch from clang-format to manual formatting
clang-format does too many weird things. (user: js, size: 4514) [annotate] [blame] [check-ins using]
1 2 3 4 5 6 7 8 9 10 11 | // all server side masterserver and pinging functionality #include "cube.h" static ENetSocket mssock = ENET_SOCKET_NULL; static void httpgetsend(ENetAddress *ad, OFString *hostname, OFString *req, OFString *ref, OFString *agent) { if (ad->host == ENET_HOST_ANY) { | | | > | | | | | 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 | // all server side masterserver and pinging functionality #include "cube.h" static ENetSocket mssock = ENET_SOCKET_NULL; static void httpgetsend(ENetAddress *ad, OFString *hostname, OFString *req, OFString *ref, OFString *agent) { if (ad->host == ENET_HOST_ANY) { [OFStdOut writeFormat: @"looking up %@...\n", hostname]; enet_address_set_host(ad, hostname.UTF8String); if (ad->host == ENET_HOST_ANY) return; } if (mssock != ENET_SOCKET_NULL) enet_socket_destroy(mssock); mssock = enet_socket_create(ENET_SOCKET_TYPE_STREAM, NULL); if (mssock == ENET_SOCKET_NULL) { printf("could not open socket\n"); return; } if (enet_socket_connect(mssock, ad) < 0) { printf("could not connect\n"); return; } ENetBuffer buf; OFString *httpget = [OFString stringWithFormat: @"GET %@ HTTP/1.0\n" @"Host: %@\n" @"Referer: %@\n" @"User-Agent: %@\n\n", req, hostname, ref, agent]; buf.data = (void *)httpget.UTF8String; buf.dataLength = httpget.UTF8StringLength; [OFStdOut writeFormat: @"sending request to %@...\n", hostname]; enet_socket_send(mssock, NULL, &buf, 1); } static void httpgetrecieve(ENetBuffer *buf) { if (mssock == ENET_SOCKET_NULL) |
︙ | ︙ | |||
73 74 75 76 77 78 79 | static ENetBuffer masterb; static void updatemasterserver(int seconds) { // send alive signal to masterserver every hour of uptime if (seconds > updmaster) { | | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | static ENetBuffer masterb; static void updatemasterserver(int seconds) { // send alive signal to masterserver every hour of uptime if (seconds > updmaster) { OFString *path = [OFString stringWithFormat: @"%@register.do?action=add", masterpath]; httpgetsend(&masterserver, masterbase, path, @"cubeserver", @"Cube Server"); masterrep[0] = 0; masterb.data = masterrep; masterb.dataLength = MAXTRANS - 1; updmaster = seconds + 60 * 60; } |
︙ | ︙ | |||
96 97 98 99 100 101 102 | if (busy && mssock == ENET_SOCKET_NULL) printf("masterserver reply: %s\n", stripheader(masterrep)); } unsigned char * retrieveservers(unsigned char *buf, int buflen) { | | | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | if (busy && mssock == ENET_SOCKET_NULL) printf("masterserver reply: %s\n", stripheader(masterrep)); } unsigned char * retrieveservers(unsigned char *buf, int buflen) { OFString *path = [OFString stringWithFormat: @"%@retrieve.do?item=list", masterpath]; httpgetsend( &masterserver, masterbase, path, @"cubeserver", @"Cube Server"); ENetBuffer eb; buf[0] = 0; eb.data = buf; eb.dataLength = buflen - 1; while (mssock != ENET_SOCKET_NULL) |
︙ | ︙ | |||
136 137 138 139 140 141 142 | if (len < 0) return; p = &pong[len]; putint(&p, PROTOCOL_VERSION); putint(&p, mode); putint(&p, numplayers); putint(&p, minremain); | | | | > | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | if (len < 0) return; p = &pong[len]; putint(&p, PROTOCOL_VERSION); putint(&p, mode); putint(&p, numplayers); putint(&p, minremain); OFString *mname = [OFString stringWithFormat: @"%@%@", (isfull ? @"[FULL] " : @""), smapname]; sendstring(mname, &p); sendstring(serverdesc, &p); buf.dataLength = p - pong; enet_socket_send(pongsock, &addr, &buf, 1); } } void servermsinit(OFString *master_, OFString *sdesc, bool listen) { const char *master = master_.UTF8String; const char *mid = strstr(master, "/"); if (!mid) mid = master; masterpath = @(mid); masterbase = [OFString stringWithUTF8String: master length: mid - master]; serverdesc = sdesc; if (listen) { ENetAddress address = { ENET_HOST_ANY, CUBE_SERVINFO_PORT }; pongsock = enet_socket_create(ENET_SOCKET_TYPE_DATAGRAM, &address); if (pongsock == ENET_SOCKET_NULL) fatal(@"could not create server info socket\n"); } } |