Code Monkey home page Code Monkey logo

vu-docs's Introduction

VU Documentation

This repository hosts the documentation for Venice Unleashed. You can find a published version of this documentation at https://docs.veniceunleashed.net/.

Developing locally

The documentation website is statically generated using Hugo, which can also be used to develop the documentation locally and preview changes on the fly.

First-time setup

First, you must clone the documentation repository locally to your computer. You can do this by running the following command:

git clone [email protected]:EmulatorNexus/VU-Docs.git

Before you can start developing you must ensure that you have the latest extended version of Hugo and Node.js installed and available in your path. For Hugo you can alternatively place the hugo executable (eg. hugo.exe) inside the checked-out repository directory. Once you have, open a terminal in your local repository directory and run the following command:

npm install

Using the development server

You can start a local development server by opening a terminal in your local repository directory and running the following command:

npm start

This will start a local server at http://localhost:1313 which you can visit from your browser to see an active snapshot of the documentation site. Any changes to website content in the content folder will get automatically reflected on your browser in real-time.

Building the site

To build the site and prepare it for publishing open a terminal in your local repository directory and run the following command:

npm run build:types
npm run build:index
npm run build

This will build the website and output it to a dist folder inside the repository directory. The contents of that folder can then be published to a destination of your choice.

vu-docs's People

Contributors

ax0r avatar bashdash4 avatar biosmanager avatar bizarrus avatar dependabot[bot] avatar flashhit avatar illustrisjack avatar j4nssent avatar kapraran avatar kiwidoggie avatar matthis-wilh avatar orfeasz avatar paulhobbel avatar powback avatar rierei avatar simber1 avatar zapotah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vu-docs's Issues

Add note to run raycasts during UpdatePass_PreSim

You may need to add a note for RaycastManager about when the methods of this class should be executed.

I had many crashes when i ran RaycastManager:Raycast at random points in time. Then kiwidog suggested me to run raycasts during the UpdatePass_PreSim and it seems to does the trick.

Events:Subscribe('UpdateManager:Update', function(deltaTime, updatePass)
    if updatePass ~= UpdatePass.UpdatePass_PreSim then
      return
    end

    -- Raycasts should be here
end)

Setting up a server on Linux

The correct command for installing wine on Ubuntu 18.04 LTS is:

sudo apt install --install-recommends -y wine-stable

instead of

sudo apt install --install-recommends -y winehq-stable

Incorrect Wine Prefix

If a server has previously had a wine install, or you accidently ran wine in 64 bit prefix. it seems to cache itself in the configuration and will throw errors similar to...

wine ~/vu/client/vu.com -gamepath ~/bf3 -serverInstancePath ~/vu/instance -server -dedicated -high60
0009:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.VC90.CRT" (9.0.21022.8)
Wine cannot find the ncurses library (libncurses.so.5).
0009:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0009:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)

In order to fix this, follow the steps:

# From: https://askubuntu.com/questions/74690/how-to-install-32-bit-wine-on-64-bit-ubuntu
# Move the old prefix (if one exists)
# You could rm -rf it if you don't want it.
mv ~/.wine/ ~/oldwine/

# Create prefix with right arch, per
# http://wiki.winehq.org/FAQ#32_bit_wineprefix
WINEARCH=win32 winecfg

Then follow the directions located on https://docs.veniceunleashed.net/hosting/setup-linux/#setting-up-a-32-bit-wine-prefix and below and it should work again.

Make contributing less complicated

I believe that if the docs would be more like a wiki then they would get a lot more contributions.
Though I don't know if it is the role of the VU Docs to be a wiki as well.

`RCON:RegisterCommand` missing info

https://docs.veniceunleashed.net/vext/ref/server/library/rcon/#registercommand
https://docs.veniceunleashed.net/vext/ref/server/library/rcon/#registercommand-1

There should be a description similar to:
https://docs.veniceunleashed.net/vext/ref/server/type/gameentity/#registerspawncallback

So I guess it would be:
A callback in the form function(command: string, args: string{}, loggedIn: bool): string{}.
A callback in the form function(context: any, command: string, args: string{}, loggedIn: bool): string{}.

RagdollComponent descriptions

https://docs.veniceunleashed.net/vext/ref/client/type/ragdollcomponent/

Would be good to know which ones are only for the local player soldier. Or if it is only for 1st person soldier models then it should also work for spectator if he spectates in 1st person. See which ones are only for 3rd person soldier models.
Give hints where to find the boneId.
This should contain the boneIds for 1st person: https://github.com/EmulatorNexus/Venice-EBX/blob/master/Animations/Skeletons/Venice1pSke01.txt
This for 3rd person: https://github.com/EmulatorNexus/Venice-EBX/blob/master/Animations/Skeletons/VeniceAntSke01.txt

Low FPS with GPUs

Some users complain about low frames when playing with NV or AMD GPUs. Workaround is too add vu.exe to the respective controlpanel.

Player:Created & Player:Destroyed

I think they only get triggered for Bots. Will recheck. If that's the case there should be a comment for it.
Edit: this isn’t the case anymore.

Setting up a server on Linux | ncurses

By default if you follow the tutorial directly you will always get an error of: Wine cannot find the ncurses library (libncurses.so.5).

In order to resolve this you will need to run sudo apt-get install libncurses5:i386 libncurses6:i386

This should be added to the documentation

Guid:ToString()

I think it should be mentioned that it needs to be Guid:ToString('D') to make it work. Took me a while to figure that out.

[Bug] Wrong return in EntityBus:GetLinks

it returns { { [1] = DataContainer, [2] = Entity }, { [1] = DataContainer, [2] = Entity }, ... } instead of { Entity, Entity, Entity, ... }

and Entity can be nil. So sometimes its just the DataContainer in that table

Description for `SoldierEntity:SingleStepEntry()`

There should be a description for what it is.
We use it for Bots to move them. It's also related to the EntryInput.
If you spawn a bot soldier and give him an EntryInput in Player.input you need to use SoldierEntity:SingleStepEntry() otherwise you won't be able to kill them. Also if you use this and there is no Player.input it will crash.

Dealing with entities

Currently the example shows

Hooks:Install('EntityFactory:Create', 100, function(hookCtx, entityData, transform)
  if entityData:Is('SpotLightEntityData') then
    entityData:MakeWritable()
    entityData.castShadowsEnable = true
    entityData.castShadowsMinLevel = QualityLevel.QualityLevel_Low

    hookCtx:Pass(entityData, transform)
  end
end)

This was causing issues for someone in discord because the default type is DataContainer and will need to be cast

Hooks:Install('EntityFactory:Create', 100, function(hookCtx, entityData, transform)
  if entityData:Is('SpotLightEntityData') then
    local myEntityData = SpotLightEntityData(entityData)
    myEntityData :MakeWritable()
    myEntityData .castShadowsEnable = true
    myEntityData .castShadowsMinLevel = QualityLevel.QualityLevel_Low

    hookCtx:Pass(entityData, transform)
  end
end)

Server commands

Not an issue, but a suggestion - include vars.maxPlayers here, since it's a pretty basic command and people don't want to look through the full document.

Missing loadout at spawn

Hi, I love this mod and all that Venice Unleashed has to offer the Battlefield 3 community. I am having a common random bug that when i spawn my loadout is absent and i can only see the crosshairs but no weapon in my loadout is visible. the only fix is to leave and rejoin my server. Is anyone else having this issue?
68MrMercenary

Server administration documentation needs clearer instruction paths

After having multiple people get stuck on setting up a server document, there needs to be a clear path of how to set up a server. Currently there is no easy way for someone not familiar with the BF3 server and VU to understand which wiki links are needed and which aren't. I will work on this and file a PR when complete.

mod.json dlc stuff

- Add support for specifying required DLC content in the mod.json mod descriptor. A new field called RequiredXPacks containing a list of numbers has been added, each number representing the required DLC xpack.

Search improvements

What is the reason behind api search using Fuse and full text search using lunr?
I saw that lunr has a nice feature to search by field. Could this allow search queries like "property:soldier"?

Winepath Instance Directory Needed

[> >### Running a VU server

You are now ready to run a VU server. To do so, use the command below:

wine ~/vu/client/vu.com -gamepath ~/bf3 -serverInstancePath ~/vu/instance -server -dedicated
Your server will start up and will soon be joinable by players. It is recommended to restart your server every now and then so you can receive updates and fixes.](https://docs.veniceunleashed.net/hosting/setup-linux/)

This here for the Linux instructions seems wrong, I tried this and it worked

Losing weapons Kit on spawn Solution for me

After switching to Fullscreen and not windowed mode my issue has not happened since. I tried to duplicate the issue in Fullscreen and it hasn't happened. Maybe its a bug in windowed mode?
thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.