skythebro / SkanksAIO

Fork of the SkanksAIO mod for v rising
1 stars 0 forks source link

☁ SkanksAIO - 1.0 update

Forked from phillipsOG and updated to gloomrot, now also updated to 1.0. The interactive map now also has the new 1.0 appearance so Ignore the images here those are outdated

A V-Rising mod that connects your server to discord and a webserver plus some extra stuff. Please report any issues here.

Installation

Commands and Other Features

Notes:


webserver example (template included)

Make sure Enable is set to true in your server's SkanksAIO.cfg file. And that the port is port forwarded and allowed through your firewall. If you get access denied error 5 for the webserver make sure you run the server as admin. img.png

webserver interactive map

Make sure EnableInteractiveMap is set to true in your server's SkanksAIO.cfg file. You can access the map by going to http://yourip:port/map in your browser. img.png

DO NOT SKIP THIS STEP

Then make sure you don't see any errors in the console if you get the error [Error : AIO] An error occured:System.Net.HttpListenerException (5): Access is denied This means that windows is blocking the connection and you'll need to run the following command in an elevated command prompt to allow the connection. For linux users or others You'll have to look up a similar command for your OS.

For windows: (computername is your computer name and username is your windows username, also make sure to use the same port you set in the config file in this example the port is 8080) netsh http add urlacl url=http://+:8080/ user=<COMPUTERNAMEHERE>\<USERNAME>

features

Player tracking example: img.png

Custom markers example: (these are all manually placed, so use them for special locations, other marker options will be added later)

img.png

Player stats example:

img.png

Check out the map.html.twig file for icon color and size customization (WIP everything is in one file atm, will be split up later probably?)


Global chat discord link

Bot image in example is from Decaprime's LeadAHorseToWater mod. (this image is just used for an example and is not included in this mod)

img.png

Make sure AllowGlobalChat is set to true in your server's ServerGameSettings.json file. And for the individual user that wants to use this that Show Global Chat is enabled in the games HUD settings. img.png


Commands are easily viewable using / on discord, All users will be able to see all commands (discord limitation) but won't be able to use all depending on permissions.

img.png

/leaderboard [playername=]

This command shows a leaderboard card for the player specified. If no player is specified it will show the leaderboard for the server.

img.png

/time

This command shows the current time on the server (Day/Night).

img.png

/status

This command shows the current uptime, online players, total PVP kills and Average Player Rating of the server.

img.png

πŸ”’ /ban [playername=]

This command bans the specified player.

img.png

πŸ”’ /unban [playername=]

This command unbans the specified player.

img.png

πŸ”’ /kick [playername=]

This command kicks the specified player.

img.png



Ingame commands

Im using the default command prefix here but you can change it in the config.

!playercount

This command lists the amount of players on the server.

πŸ”’ !reloadskanks

This command reloads the server config and json files.

πŸ”’ !listcommands

This command lists all the available commands.

πŸ”’ !addmarker [markername] [type]

This command adds a custom marker to the map from where you're standing. For a list of types, use the command listmarkertypes

πŸ”’ !removemarker [markername]

This command removes marker with the given name.

πŸ”’ !listmarkertypes

This command lists all the usable marker types.

πŸ”’ !listplacedmarkers

This command lists all of the placed markers names, types and locations.

Configurations

Json file configurations

Announcements.json

This file contains a list of announcement messages. These messages will randomly or not (AnnounceRandomOrder) be sent every (AnnounceTimer seconds) in the announcement discord channel or default channel (if AnnounceEnabled is true). You can add as many as you want.

["Announcement 1","Announcement 2","Announcement 3"]

Markers.json

This file contains a all the marker info for the interactive map. "testMarker" is the name that will show up on the map. Type is an enum. X and Y are the ingame coordinates for the location of the marker. I recommend using the ingame command to add markers to this file.

{
  "testMarker": {
    "Type": 15,
    "X": 0,
    "Y": 0
  },
  "testMarker2": {
    "Type": 21,
    "X": -100,
    "Y": -100
  }
}

Messages.json

This file contains the default messages for each of the logon/logoff events. They'll get sent to the discord channel when a user connects or disconnects.

{
  "online":"%user% is online!", 
  "offline":"%user% has gone offline!",
  "newUserCreatedCharacter":"%user% has finished character creation!",
  "newUserOnline":"A new vampire just joined!",
  "newUserOffline":"A vampire left before finishing character creation"
}

OfflineMessage.json

This file can be filled with custom logoff messages for specific users.

{
  "CharacterName":"%user% went offline...",
  "CharacterName2":"Where did %user% go? They went offline..."
}

OnlineMessage.json

This file can be filled with custom logon messages for specific users.

{
  "CharacterName":"%user% is back baby!",
  "CharacterName2":"The best V rising player: %user% is here!"
}

Vips.json

This file can be filled with steamid64's of VIP users. (Previously known as SkanksAIO.VIPlist.txt, be sure to add the steamid64's to the json instead of the old txt one!)

[
  76561197960000000,
  76561197960000001,
  76561197960000002
]

Video tutorial for setting up discord bot and extra info

img.png

img.png

img.png

img.png

img.png


DISCLAIMER

[Announcements]

## Show in discord chat when users connect
# Setting type: Boolean
# Default value: true
ShowUserConnectedInDC = true

## Show in discord chat when users disconnect
# Setting type: Boolean
# Default value: true
ShowUserDisConnectedInDC = true

## Time between messages in seconds
# Setting type: Single
# Default value: 180
AnnounceTimer = 180

## Enable auto messages system
# Setting type: Boolean
# Default value: false
AnnounceEnabled = false

## Random order for announcement messages
# Setting type: Boolean
# Default value: false
AnnounceRandomOrder = false

[Chat]

## Prefix for all chat commands
# Setting type: String
# Default value: !
CommandPrefix = !

[Discord]

## Bot Token from https://discord.com/developers/applications
# Setting type: String
# Default value: 
Token = 

## Channel ID of the channel to post messages to
# Setting type: UInt64
# Default value: 0
ChannelId = 0

## Channel ID of the channel to post Announcements to (leave default if you want it to be in the same channel as the ChannelId) setting
# Setting type: UInt64
# Default value: 0
AnnounceChannelId = 0

## ID of an Administrative role in your discord server.
# Setting type: UInt64
# Default value: 0
AdminRoleId = 0

## Title for embedded message
# Setting type: String
# Default value: 
Title = 

## Footer for embedded message
# Setting type: String
# Default value: 
Footer = 

## Footer icon for embedded message
# Setting type: String
# Default value: 
FooterIcon = 

## If true, the leaderboard will be shown as a table instead of a grid.
# Setting type: Boolean
# Default value: false
ShowLeaderboardAsList = false

[Server]

## Enables the PvP Kill Tracker. Warning: if disabled ELO wont update when killing other players (because it doesnt track kills anymore (only applicable to PvP)).
# Setting type: Boolean
# Default value: true
EnablePvPKillTracker = true

[VIP]

## Enables the VIP functionality. the txt file will generate in the bepInEx config folder SkanksAIO/SkanksAIO.VIPlist.txt folder after restart. This txt file will be read at startup or when reloading. To add a user to VIP you need to add their steamid64 to the file. (1 per line)
# Setting type: Boolean
# Default value: false
EnableVIP = false

[Web]

## Enable the webserver
# Setting type: Boolean
# Default value: false
Enable = false

## Port the webserver will run on
# Setting type: Int32
# Default value: 8080
Port = 8080

## Enables the interactive map
# Setting type: Boolean
# Default value: false
EnableInteractiveMap = false

## Enables tracking of players on the interactive map
# Setting type: Boolean
# Default value: false
TrackPlayersOnMap = false

## Interval in seconds for the interactive map to update. Don't set this too low or you might get rate limited.
# Setting type: Int32
# Default value: 10
InteractiveMapUpdateInterval = 10

Support me

If you like my work and want to support me you can do so by donating to my Ko-Fi

Developer & credits

### V rising modding [Discord](https://discord.gg/XY5bNtNm4w) ### Current Developer - `skythebro/skyKDG` - Also known as realsky on discord ### Original Creator & Developer - [phillipsOG](https://github.com/phillipsOG/SkanksAIO)