source: binary-improvements/MapRendering/Web/WebConnection.cs@ 251

Last change on this file since 251 was 251, checked in by peter.souza, 10 years ago

Enemies (zombies and hostile animal entities) are now shown on the map as Hostiles and require permission level 'webapi.gethostilelocation' for web viewers to see.

Animals (non-hostile entities) are now shown on the map as Animals and require permission level 'webapi.getanimalslocation' for web viewers to see.

Permission level for 'webapi.viewallclaims' is now required for a viewer to see all claims, otherwise the permission level for 'webapi.getlandclaims' will only show viewer-owned claims. A viewer requires both 'webapi.getlandclaims' and 'webapi.viewallclaims' to be set for all claims to show (you can't just set 'webapi.viewallclaims').
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=317405&viewfull=1#post317405

Permission level for 'webapi.viewallplayers' is now required for a viewer to see all players, otherwise the permission level for 'webapi.getplayerslocation' will only show the player for the currently-authenticated viewer. A viewer requires both 'webapi.getplayerslocation' and 'webapi.viewallplayers' to be set for all players to show (you can't just set 'webapi.viewallplayers').
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=317405&viewfull=1#post317405

Banned players are now hidden from the web map.
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=320702&viewfull=1#post320702

Items using 'CustomIcon' and 'CustomIconTint' are now supported (although the exact tinting may not be perfectly the same as the game).
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=317117&viewfull=1#post317117
https://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server&p=317679&viewfull=1#post317679

Map marker icons for players, hostiles, and animals have been updated.

File size: 2.5 KB
Line 
1using System;
2using System.Collections.Generic;
3using AllocsFixes.NetConnections.Servers.Web;
4using UnityEngine;
5
6namespace AllocsFixes.NetConnections.Servers.Web
7{
8 public class WebConnection : ConsoleConnectionAbstract {
9 private string sessionId;
10 private string endpoint;
11 private ulong steamId;
12 private DateTime login;
13 private DateTime lastAction;
14 private List<string> outputLines = new List<string> ();
15
16 public string SessionID {
17 get { return sessionId; }
18 }
19
20 public string Endpoint {
21 get { return endpoint; }
22 }
23
24 public ulong SteamID {
25 get { return steamId; }
26 }
27
28 public TimeSpan Age {
29 get { return DateTime.Now - lastAction; }
30 }
31
32 public bool CanViewAllPlayers (int _permissionLevel) {
33 bool val = false;
34
35 try {
36 const int defaultPermissionLevel = 0;
37
38 val = _permissionLevel <= defaultPermissionLevel;
39
40 foreach (WebPermissions.WebModulePermission wap in WebPermissions.Instance.GetModules ())
41 if (wap.module.Trim ().ToLower () == "webapi.viewallplayers")
42 val = _permissionLevel <= wap.permissionLevel;
43 }
44 catch { }
45
46 return val;
47 }
48
49 public bool CanViewAllClaims (int _permissionLevel) {
50 bool val = false;
51
52 try {
53 const int defaultPermissionLevel = 0;
54
55 val = _permissionLevel <= defaultPermissionLevel;
56
57 foreach (WebPermissions.WebModulePermission wap in WebPermissions.Instance.GetModules ())
58 if (wap.module.Trim ().ToLower () == "webapi.viewallclaims")
59 val = _permissionLevel <= wap.permissionLevel;
60 }
61 catch { }
62
63 return val;
64 }
65
66 public WebConnection (string _sessionId, string _endpoint, ulong _steamId) {
67 this.sessionId = _sessionId;
68 this.endpoint = _endpoint;
69 this.steamId = _steamId;
70 this.login = DateTime.Now;
71 this.lastAction = this.login;
72 }
73
74 public void UpdateUsage () {
75 this.lastAction = DateTime.Now;
76 }
77
78 public override string GetDescription () {
79 return "WebPanel from " + endpoint;
80 }
81
82 public override void SendLine (string _text) {
83 outputLines.Add (_text);
84 }
85
86 public override void SendLines (List<string> _output) {
87 outputLines.AddRange (_output);
88 }
89
90 public override void SendLog (string _msg, string _trace, LogType _type) {
91 // Do nothing, handled by LogBuffer
92 }
93
94 }
95}
96
Note: See TracBrowser for help on using the repository browser.